天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP+ajaxfileupload+jcrop插件完美實(shí)現(xiàn)頭像上傳剪裁


昨天花了點(diǎn)時(shí)間整合了一下頭像插件 東拼西湊的成果 先來(lái)看下效果

1.先使用ajaxfileupload插件做異步上傳。這個(gè)地方我本來(lái)想做個(gè)上傳進(jìn)度的效果,但技術(shù)有限失敗了。上傳按鈕我還做了一個(gè)文件大小的限制,但是由于瀏覽器兼容性的問(wèn)題,不完美在IE6--IE9之間還有很多問(wèn)題需要解決

getFileSize函數(shù)是用于判斷文件大小的函數(shù)

復(fù)制代碼 代碼如下:
function getFileSize(fileName) {
                var byteSize = 0;
                //console.log($("#" + fileName).val());
                if($("#" + fileName)[0].files) {
                    var byteSize  = $("#" + fileName)[0].files[0].size;
                }else {
    //此處由于有瀏覽器兼容問(wèn)題 還沒(méi)完成大小判斷的邏輯
                }
                //alert(byteSize);
                byteSize = Math.ceil(byteSize / 1024) //KB
                return byteSize;//KB
            }

2.按鈕上傳事件綁定

復(fù)制代碼 代碼如下:
$("#btnUpload").click(function () {
                var allowImgageType = ['jpg', 'jpeg', 'png', 'gif'];
                var file = $("#file1").val();
                //獲取大小
                var byteSize = getFileSize('file1');
                //獲取后綴
                if (file.length > 0) {
                    if(byteSize > 2048) {
                        alert("上傳的附件文件不能超過(guò)2M");
                        return;
                    }
                    var pos = file.lastIndexOf(".");
                    //截取點(diǎn)之后的字符串
                    var ext = file.substring(pos + 1).toLowerCase();
                    //console.log(ext);
                    if($.inArray(ext, allowImgageType) != -1) {
                        ajaxFileUpload();
                    }else {
                        alert("請(qǐng)選擇jpg,jpeg,png,gif類型的圖片");
                    }
                }
                else {
                    alert("請(qǐng)選擇jpg,jpeg,png,gif類型的圖片");
                }
            });

3.在上傳成功后返回圖片路徑,并初始化圖片裁剪。圖片裁剪就直接用ajax請(qǐng)求到php

復(fù)制代碼 代碼如下:
function ajaxFileUpload() {
                $.ajaxFileUpload({
                    url: 'action.php', //用于文件上傳的服務(wù)器端請(qǐng)求地址
                    secureuri: false, //一般設(shè)置為false
                    fileElementId: 'file1', //文件上傳空間的id屬性  <input type="file" id="file" name="file" />
                    dataType: 'json', //返回值類型 一般設(shè)置為json
                    success: function (data, status)  //服務(wù)器成功響應(yīng)處理函數(shù)
                    {
                        //var json = eval('(' + data + ')');
                        //alert(data);
                        $("#picture_original>img").attr({src: data.src, width: data.width, height: data.height});
                        $('#imgsrc').val(data.path);
                        //alert(data.msg);

                        //同時(shí)啟動(dòng)裁剪操作,觸發(fā)裁剪框顯示,讓用戶選擇圖片區(qū)域
                        var cutter = new jQuery.UtrialAvatarCutter({
                                //主圖片所在容器ID
                                content : "picture_original",
                                //縮略圖配置,ID:所在容器ID;width,height:縮略圖大小
                                purviews : [{id:"picture_200",width:200,height:200},{id:"picture_50",width:50,height:50},{id:"picture_30",width:30,height:30}],
                                //選擇器默認(rèn)大小
                                selector : {width:200,height:200},
                                showCoords : function(c) { //當(dāng)裁剪框變動(dòng)時(shí),將左上角相對(duì)圖片的X坐標(biāo)與Y坐標(biāo) 寬度以及高度
                                    $("#x1").val(c.x);
                                    $("#y1").val(c.y);
                                    $("#cw").val(c.w);
                                    $("#ch").val(c.h);
                                },
                                cropattrs : {boxWidth: 500, boxHeight: 500}
                            }
                        );
                        cutter.reload(data.src);
                        $('#div_avatar').show();
                    },
                    error: function (data, status, e)//服務(wù)器響應(yīng)失敗處理函數(shù)
                    {
                        alert(e);
                    }
                })
                return false;
            }

            $('#btnCrop').click(function() {
                $.getJSON('action2.php', {x: $('#x1').val(), y: $('#y1').val(), w: $('#cw').val(), h: $('#ch').val(), src: $('#imgsrc').val()}, function(data) {
                    alert(data.msg);
                });
                return false;
            });

4.HTML文件代碼如下

復(fù)制代碼 代碼如下:
<body>
    <p><input type="file" id="file1" name="file1" /></p>
    <input type="button" value="上傳" id="btnUpload"/>
    <div style="display:none;overflow:hidden" id="div_avatar">
        <div style="width:500px;height:500px;overflow:hidden;float:left;" id="picture_original"><img alt="" src="" /></div>
        <div id="picture_200" style="float:left;margin-left:20px"></div>
        <div id="picture_50" style="float:left;margin-left:20px"></div>
        <div id="picture_30" style="float:left;margin-left:20px"></div>
        <input type="hidden" id="x1" name="x1" value="0" />
        <input type="hidden" id="y1" name="y1" value="0" />
        <input type="hidden" id="cw" name="cw" value="0" />
        <input type="hidden" id="ch" name="ch" value="0" />
        <input type="hidden" id="imgsrc" name="imgsrc" />
        <input type="button" value="裁剪上傳" id="btnCrop"/>
    </div>
</body>

現(xiàn)在還很粗糙,功能還有很多需要完善的地方。大家有興趣的話,就拿去使用吧。如果完善了進(jìn)度條和文件大小的功能,記得也分享給我一份哦。

附上源碼 http://www.jb51.NET/codes/174384.html

php技術(shù)PHP+ajaxfileupload+jcrop插件完美實(shí)現(xiàn)頭像上傳剪裁,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产全部视频列表支持手机 | 久久秋霞理伦片 | 免费人成在线观看网站视频 | 国产1广场舞丰满老女偷 | 亚洲青青青网伊人精品 | 亚洲AV久久无码精品九号 | 一本色道久久综合亚洲精品蜜桃冫 | 午夜福到在线4国产 | 亚洲精品123区在线观看 | 国产精品日本不卡一区二区 | 美女张开腿露出尿口扒开来摸动漫 | 老师别揉我胸啊嗯小说 | free性中国hd护士高清 | 日韩欧美一级 | 久久机热视频免费 | 国产精品久久久久秋霞影视 | 欧美精品做人一级爱免费 | 国产精品xxxav免费视频 | 最近中文字幕完整版高清 | 成片在线看一区二区草莓 | 97人妻久久久精品系列A片 | 超碰在线97久久视频观看 | 毛片手机在线看 | 国内精品日本久久久久影院 | 一道本无吗d d在线播放 | 我要色色网 | 久久精品AV无码亚洲色欲 | 野花视频在线观看免费 | 在线观看日本免费 | 久久久乱码精品亚洲日韩 | 伊人久久综合成人亚洲 | 伊人久久大香线蕉综合网站 | 国产精品JIZZ在线观看A片 | 国产高清视频在线播放www色 | 国产成人aaa在线视频免费观看 | 亚洲 日韩经典 中文字幕 | 久久精品亚洲 | 国内视频在线精品一区 | 95国产欧洲精华液 | 97久久无码精品AV | 国产精品视频免费观看 |