最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript Base64 作為文件上傳的實例代碼解析

 更新時間:2017年02月14日 10:35:20   作者:湯健斌  
這篇文章主要介紹了JavaScript Base64 作為文件上傳的實例代碼解析,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

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

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

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

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

函數(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()">上傳測試</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 作為文件上傳的實例代碼解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Javascript類型判斷相關(guān)例題及解析

    Javascript類型判斷相關(guān)例題及解析

    這篇文章主要介紹了Javascript類型判斷相關(guān)例題及解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • JavaScript異步編程常見面試題匯總

    JavaScript異步編程常見面試題匯總

    本文將帶大家學(xué)習(xí)異步編程這一塊內(nèi)容,鑒于異步編程是js中至關(guān)重要的內(nèi)容,所以我們將學(xué)習(xí)異步編程涉及到的重點和難點,同時這一塊內(nèi)容也是面試常考范圍,希望對大家有所幫助
    2023-02-02
  • 微信小程序之間的參數(shù)傳遞、獲取的操作方法

    微信小程序之間的參數(shù)傳遞、獲取的操作方法

    這篇文章主要介紹了微信小程序中如何獲取和傳遞參數(shù),包括獲取當(dāng)前頁面參數(shù)、單獨input文本框參數(shù)的獲取、表單獲取參數(shù)信息、點擊表格單元格信息獲取行ID以及前端頁面跳轉(zhuǎn)傳遞多個參數(shù)等,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • JavaScript 實現(xiàn)同時選取多個時間段的方法

    JavaScript 實現(xiàn)同時選取多個時間段的方法

    這篇文章主要介紹了JavaScript 實現(xiàn)同時選取多個時間段的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • select、radio表單回顯功能實現(xiàn)避免使用jquery載入賦值

    select、radio表單回顯功能實現(xiàn)避免使用jquery載入賦值

    select、radio表單回顯避免使用jquery載入賦值,最好的做法是:在jsp頁面進(jìn)行邏輯判斷,具體實現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-06-06
  • 跟我學(xué)習(xí)javascript的執(zhí)行上下文

    跟我學(xué)習(xí)javascript的執(zhí)行上下文

    跟我學(xué)習(xí)javascript的執(zhí)行上下文,讀完本文后,你應(yīng)該清楚了解釋器做了什么,為什么函數(shù)和變量能在聲明前使用以及它們的值是如何決定的,需要了解這些內(nèi)容的朋友可以參考下
    2015-11-11
  • xmlplus組件設(shè)計系列之路由(ViewStack)(7)

    xmlplus組件設(shè)計系列之路由(ViewStack)(7)

    xmlplus 是一個JavaScript框架,用于快速開發(fā)前后端項目。這篇文章主要介紹了xmlplus組件設(shè)計系列之路由,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JavaScript中條件語句的優(yōu)化技巧總結(jié)

    JavaScript中條件語句的優(yōu)化技巧總結(jié)

    這篇文章主要給大家介紹了關(guān)于JavaScript中條件語句的優(yōu)化技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 根據(jù)分辨率不同,調(diào)用不同的css文件

    根據(jù)分辨率不同,調(diào)用不同的css文件

    根據(jù)分辨率不同,調(diào)用不同的css文件...
    2006-07-07
  • javascript禁用Tab鍵腳本實例

    javascript禁用Tab鍵腳本實例

    這篇文章主要介紹了javascript禁用Tab鍵的腳本實例,很實用,大家參考使用吧
    2013-11-11

最新評論

读书| 桑植县| 建德市| 边坝县| 城固县| 萍乡市| 鹤岗市| 赤峰市| 黄骅市| 泽普县| 宁晋县| 梨树县| 邢台县| 拜城县| 武强县| 略阳县| 湖南省| 伊宁市| 台东市| 满洲里市| 磴口县| 刚察县| 叶城县| 清丰县| 孟津县| 濮阳县| 安西县| 板桥市| 宁南县| 临泉县| 永平县| 大石桥市| 伊春市| 新龙县| 衡水市| 永城市| 刚察县| 黑河市| 阳山县| 义马市| 武宣县|