業務需求: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 = https://www.cnblogs.com/qdclub/p/new FormData();
formData.append('fileinput', fileHc)
formData.append('后端約定的附件引數名稱', JSON.stringify({
// 此處填寫 前后端約定之后的引數值
}))
// 回傳封裝好的檔案
return formData
}
涉及到的知識點
Blob物件 : 官網介紹的很詳細
File(特例):只是在記憶體中映射出來檔案的物件,不會再記憶體中存在,但是可以取到該值,
FormData物件:(FormData的物件全部存在于prototype之中)

歡迎大家關注我的微信公眾號,一起學習一起進步
代碼小書生
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/37716.html
標籤:HTML5
