国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

JavaScript Base64 作為文件上傳的實(shí)例代碼解析

2019-11-19 17:35:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

例如我們用某些 裁剪插件 得到的圖片是 

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/ KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/ LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg=="> 

這樣的,那這樣的文件怎樣在from 表單上傳(當(dāng)然我是舉例,大部分的裁剪插件都是有內(nèi)置的)

首先需要 吧 base64 流轉(zhuǎn)換成 blob 對(duì)象,文件對(duì)象都繼承它。

函數(shù)如下:

function getBlobBydataURI(dataURI,type) {   var binary = atob(dataURI.split(',')[1]);   var array = [];   for(var i = 0; i < binary.length; i++) {     array.push(binary.charCodeAt(i));   }   return new Blob([new Uint8Array(array)], {type:type }); } 

那么剩下的就作為文件上傳就ok

var $Blob= getBlobBydataURI(base64Data,'image/png'); var formData = new FormData(); formData.append("files", $Blob ,"file_"+Date.parse(new Date())+".png"); 

全部代碼是這樣子的:

<!DOCTYPE html> <html> <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   <title>上傳用例</title>   <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>   <script type="text/javascript">     /**      * 根據(jù)base64 內(nèi)容 取得 bolb      *      * @param dataURI      * @returns Blob      */     function getBlobBydataURI(dataURI,type) {       var binary = atob(dataURI.split(',')[1]);       var array = [];       for(var i = 0; i < binary.length; i++) {         array.push(binary.charCodeAt(i));       }       return new Blob([new Uint8Array(array)], {type:type });     }     /**      * 上傳      */     function upload(){       //base64 轉(zhuǎn) blob       var $Blob= getBlobBydataURI(document.getElementsByTagName("img")[0].currentSrc,'image/jpeg');       var formData = new FormData();       formData.append("files", $Blob ,"file_"+Date.parse(new Date())+".jpeg");       //組建XMLHttpRequest 上傳文件       var request = new XMLHttpRequest();       //上傳連接地址       request.open("POST", "www.xxx.com");       request.onreadystatechange=function()       {         if (request.readyState==4)         {           if(request.status==200){             console.log("上傳成功");           }else{             console.log("上傳失敗,檢查上傳地址是否正確");           }         }       }       request.send(formData);     }   </script> </head> <body> <button onclick="upload()">上傳測(cè)試</button> <br /> 上傳的圖片: <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAeAB4AAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDABsSFBcUERsXFhceHBsgKEIrKCUlKFE6PTBCYFVlZF9VXVtqeJmBanGQc1tdhbWGkJ6jq62rZ4C8ybqmx5moq6T/wAALCABQADEBAREA/8QAGgAAAwADAQAAAAAAAAAAAAAAAwQFAAECBv/EADQQAAIBAwMCAgcGBwAAAAAAAAECAwAEEQUSITFBE1EVImFxgaHwBiMykbHRFEJDcoKiwf/aAAgBAQAAPwD0tc5AGc1MuftBYW7FfEMrDtGM/Ohp9pbNmUNHOgbo7qAP1p60vra8z4E6uR1HcfCmVrKHc3EdrBJNI2FUZNSIreXWR41w7xW38kSnBYebe/686o2ljaWwPgQxqemRyT8aO8UTqVeJWHkQKlzaHDuaS0Y28/VSh9X3EeX17KNpWoPc+Lb3KBLiDhwOhHmKo5qPqY9Iajb6eM+Go8aX2jsK71dmhW2tIcxrcSCNivUKeuKnw2mnyXc1rbJcRzxAnxd/UijwajdXkVlbrIqSXCsXkA5wCRx7eDQ7i4i024KxXV3PMuGKytlD8vLP5UfUHCXunaimVEuEYDqQeRVmpthg61qjHqPDH+p/anL+0F1Eu1gskbB42Izhh0pA2mqSho3a1h38PLGvrMK3Ppj24tpbHBktl2hWON47/Hmg3FnPduxbThbyyDa0xlDBR34HsouvRCLSIYlOdjoo+FP+tU6+b0Zq63pH3E6iOU4/Cex+VWI5FkUMrAg9CO9BvEnlgZLaURy54YjOKniy1sHPpKM/4D9qqqWCgOctgZ46mpN4w1HWLe1TlLY+LIfb2FWKHPBHcxtHKgZWGCCKi2y3FnqbWdlJ40CgM6yf0xnoD9frV+sqPrt1eWsG6EbIzgNL3XnsPr/tOaXZQWduFhbfv9ZnPVj503trrApeG0hgllkiTa0xzIck5P0TTGKzFDmhjnieKRdyOMMOmayGJIYkijXaqDCjOcCi1ql5ruGGQRt4hcjdhI2fj4A1w2oQqMsJ1Hm1vIB+eKJLdRQuElbYCMh24X3Z86WXWLJtv3yDchfl14x2PPWmra4juYEmiIKsM9c49nvo9aqXdyPHf+LGWXbHsObeSQdc8YwPnS5vnvrdgk6uN2DttJOx8wTinJ3dZFmhuCrSIQscqHacc5x1HGaQWYiaFI2UoYWCsLSX8ORwBu5B8/3qrpxJs4zuRlx6hQEAr24PNN1qlXhlnkKykCDPCLzv/uPl7Pn2ocVm8UZKSBJd7MGAyCCxIBHfrW/4eaa4Es2xQIigCknDE8noOwFci0mjeAwyIPCgMW5lJycr2yPI96ZtIBbWscAbdsUDPnR6/9k=" /> </body> </html> 

以上所述是小編給大家介紹的JavaScript Base64 作為文件上傳的實(shí)例代碼解析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黎城县| 曲周县| 札达县| 张家界市| 时尚| 西丰县| 泽普县| 化德县| 文成县| 舟曲县| 元阳县| 西林县| 清河县| 巴里| 洛扎县| 历史| 双牌县| 晴隆县| 五华县| 广汉市| 新巴尔虎右旗| 峨眉山市| 屏边| 隆安县| 西华县| 留坝县| 葫芦岛市| 牡丹江市| 开平市| 墨竹工卡县| 广汉市| 巴塘县| 崇州市| 通榆县| 洛隆县| 广宁县| 化德县| 内江市| 郧西县| 广元市| 白河县|