Base64文件上傳


業務需求:base64位的文件,上傳至服務器。

封裝好的方法貼下,復制即可使用:

function UploadBase64File (base64) {
      let bstr = window.atob(dataurl)
      let n = bstr.length
      let u8arr = new Uint8Array(n)
      while(n--){
          u8arr[n] = bstr.charCodeAt(n);
      }
      let fileName = '文件名稱' + '.文件格式'
      let fileHc = null
      // IE瀏覽器不支持File方法,故此使用Blob方法兼容
      if (isIE()) { // 判斷是否是IE瀏覽器,進行對應的兼容操作
          fileHc = new Blob([u8arr.buffer],{})
      } else {
          fileHc = new File([u8arr], fileName, {});
      }
      // 設置文件上傳需要的參數
      var formData = new FormData();
      formData.append('fileinput', fileHc)
      formData.append('后端約定的附件參數名稱', JSON.stringify({
          // 此處填寫 前后端約定之后的參數值
      }))
      // 返回封裝好的文件
      return formData
}

涉及到的知識點

Blob對象 : 官網介紹的很詳細

File(特例):只是在內存中映射出來文件的對象,不會再內存中存在,但是可以取到該值。

FormData對象:(FormData的對象全部存在於prototype之中)


歡迎大家關注我的微信公眾號,一起學習一起進步

代碼小書生代碼小書生

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM