亚洲国产精品成人无码区,公天天吃我奶躁我的比视频,亚洲国产欧美视频亚洲国产精品一区二区成人片不卡,天天躁日日躁狠狠躁视频2021,起视碰看97视频在线少妇久久久久久人妻无码, 芒果乱码一线二线三线新区 ,亚洲熟妇无码AⅤ不卡在线播放,人妻少妇乱子伦无码专区

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

Php+layui上傳Base64編碼圖片

發(fā)表日期:2022-10-27 10:49:05   作者來源:劉紅旺   瀏覽:926   標(biāo)簽:網(wǎng)站開發(fā)    
一.引入layui 上傳插件
 
layui.use('upload', function(){
    var upload = layui.upload;
    var uploadInst = upload.render({
        elem: '#uploadImg' //觸發(fā)事件元素
        ,url: url// 這里的請(qǐng)求沒啥作用,我只是不想讓它報(bào)接口異常提示,寫的臨時(shí)接口(不做處理的)
        ,exts:"jpg|png|jpeg"
        ,accept:"images"
        ,size:"10240"
        ,before: function(obj){
            //預(yù)讀本地文件示例,不支持ie8
            obj.preview(function(index, file, result){
                //$(demo).attr('src', result); //圖片鏈接(base64)
                demo=$('#imgBox');
                imgBase64(demo,file,2,0,result,function (base64) {
                    $('#license').val(base64)
               
                    var data = {
                        idcard: '',
                        eno: '',
                        base64: base64,
                        index: 0
                    }
               
                });
           
            });
        }
        ,done: function(res){
            //上傳成功
           
        }
        ,error: function(){
        }
    });
})
 
二.將文件轉(zhuǎn)換成base64 并壓縮圖片大小
function imgBase64(demo,file,wh,mark,bs,callback){
    if((file.size+"").length > 6){
        var reader = new FileReader()
        reader.readAsDataURL(file)
        reader.onload = function(e) {
            var image = new Image() //新建一個(gè)img標(biāo)簽(還沒嵌入DOM節(jié)點(diǎn))
            image.src = e.target.result
            image.onload = function() {
                var canvas = document.createElement('canvas');
                var context = canvas.getContext('2d');
                var imageWidth = image.width / wh;   //壓縮后圖片的大小
                var imageHeight = image.height / wh;
                canvas.width = imageWidth
                canvas.height = imageHeight
                context.drawImage(image, 0, 0, imageWidth, imageHeight)
                var base64 = canvas.toDataURL('image/jpeg',0.5);// 圖片質(zhì)量0.5
                //壓縮完成
                $(demo).attr('src', base64);
                var data = base64.replace(/^data:image\/\w+;base64,/, "");
                var bytes = window.atob(data);
                var ab = new ArrayBuffer(bytes.length);
                var ia = new Uint8Array(ab);
                for(var i = 0; i < bytes.length; i++) {
                    ia[i] = bytes.charCodeAt(i);
                }
                var blob = new Blob([ab], {
                    type: 'image/jpeg'
                });
                console.log('壓縮后的圖片大小', blob.size);
                if((blob.size+"").length > 6 && mark != 1){  // 超過1MB重新按比例3壓縮一遍
                   imgBase64(demo,file,3,1,function (res) {
                       callback(res)
                   })
                }else{
                    callback(data)
                }
            }
        }
    }else{
        $(demo).attr('src', bs);
        callback(bs.replace(/^data:image\/\w+;base64,/, ""))
    }
}
效果如圖:

效果展示

提交后:

提交后效果

圖片將以base64編碼提交到后臺(tái):

 

編碼

 
三、在后臺(tái)我們可以將base64圖片轉(zhuǎn)換成圖片
   /**bs64 轉(zhuǎn)圖片 */
    function base64($base64,$username){
            $imageName =$username.'.png';//圖片名稱
            $path = "/Uploads/partner/";//圖片路徑
            $dir= ? '../'. :'.'.;  
            if (!is_dir($dir.$path)){ //判斷目錄是否存在 不存在就創(chuàng)建
                mkdir($dir.$path,0777,true);
             
             }
            $imageSrc=  $path."/". $imageName;
         
            //dump($dir.$imageSrc);exit;
            if (file_put_contents($dir.$imageSrc, base64_decode($base64))){
                //dump( $imageSrc);
             $oss= new Service\Upload();
           
            if(file_exists($dir.$imageSrc)){
                $content = file_get_contents($dir.$imageSrc);  
                $error=$oss->uploadImage('member/partner/'.$imageName, $content);//上傳到阿里云oss
                $url='阿里云oss url'. $imageName;//返回存儲(chǔ)在阿里云oss的地址
                unlink($dir.$imageSrc);//刪除本地圖片
            }
       
             return $url;
         }
   
 
}
或者不轉(zhuǎn)換成圖片直接數(shù)據(jù)庫中保存base64編碼 當(dāng)時(shí)復(fù)雜的圖片base64的編碼很長,數(shù)據(jù)庫字段長度要足夠大
四、在html img 中顯示base64圖片

顯示

如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://www.oulysa.com/news/6568.html
相關(guān)網(wǎng)站設(shè)計(jì)案例
四虎国产精品永久在线无码| 无码国产AV精品一区二区| 人妻人人澡人人添人人爽| 国产中年熟女高潮大集合| 无码人妻久久一区二区三区不卡| 99久久99精品久久久久久| 日韩免费一区二区三区在线播放| 一区二区三区免费av| 国产级a爱做片免费观看| 国产制服丝袜一区二区三区 | 久久久久久久精品免费久精品蜜桃| 亚洲AV无码国产成人久久强| 婷婷色香五月综合缴缴清| 成人免费毛片在线观看| 亚洲乱亚洲乱无码无码专区| 四虎国产精品成人影院| 中文字幕专区高清在线观看| 九九精品国产亚洲AV日韩| 国产三级视频在线播放线观看| 久久久久久亚洲精品人妻少妇| 特级做A爰片毛片免费69| 久久见久久久国产精品蜜桃| 精品人体无码一区二区三区| 成人免费777777被爆出| 午夜内射高潮av网站| a一级特黄日本大片s色| 东北老富婆高潮大叫对白HD| 日本国产爽高清不卡日本国产| 日产一二三区别免费必看| 日韩欧美国产高清在线观看| 水蜜桃国产在线观看免费视频| 深夜福利电影在线观看| 99久久久无码国产精品蜜芽| 国产无人区卡一卡二卡三乱码网站| 中文字幕色偷偷人妻久久| 亚洲午夜福利国产门事件| 女性私人爽爽影院免费观看国产| 亚洲色大全不卡在线观看| 插插射啊爱视频日A级| 久久福利一区二区三区| 国产乱人伦精品一区二区|