鍍金池/ 問答/HTML5  網(wǎng)絡(luò)安全  HTML/ 遇到一個(gè)關(guān)于上傳多張base64圖片的問題,想先將base64圖片轉(zhuǎn)成blob對(duì)

遇到一個(gè)關(guān)于上傳多張base64圖片的問題,想先將base64圖片轉(zhuǎn)成blob對(duì)象,然后放入formdata中上傳給后臺(tái)

第一步轉(zhuǎn)為blob對(duì)象沒問題:
function dataURItoBlob (base64Data) {

var byteString;
if (base64Data.split(',')[0].indexOf('base64') >= 0){
  byteString = atob(base64Data.split(',')[1]);
}else{
  byteString = unescape(base64Data.split(',')[1]);
}
var mimeString = base64Data.split(',')[0].split(':')[1].split(';')[0];
var ia = new Uint8Array(byteString.length);
for (var i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
}
return new Blob([ia], {type:mimeString});

}
但是第二步將blob對(duì)象放入到formdata中感覺不對(duì):

var fd = new FormData(obj);
var blob = dataURItoBlob (base64,'mimeString');
fd.append("files[]", blob);
當(dāng)我用ajax上傳給后臺(tái)的時(shí)候,報(bào)錯(cuò)405
回答
編輯回答
念初
var fd = new FormData(obj);
var blob = dataURItoBlob (base64,'mimeString');
fd.append("file", blob, file.name);

當(dāng)?shù)诙€(gè)參數(shù)是blob對(duì)象時(shí),第三個(gè)參數(shù)如果不傳,默認(rèn)是'blob'
參考MDN - FormData

2017年2月15日 21:23