// -------- 將以base64的圖片url數(shù)據(jù)轉(zhuǎn)換為Blob --------
function convertBase64UrlToBlob(urlData, filetype){
//去掉url的頭,并轉(zhuǎn)換為byte
var bytes = window.atob(urlData.split(',')[1]);
//處理異常,將ascii碼小于0的轉(zhuǎn)換為大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
var i;
for (i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new Blob([ab], {type : filetype});
}
$input.on('change', function (e) {
var input = $input.get(0);
var files = input.files || [];
if (files.length === 0) {
return;
}
console.log('選中 ' + files.length + ' 個(gè)文件');
// 遍歷選中的文件,預(yù)覽、上傳
$.each(files, function (key, file) {
var filename = file.name || '';
var fileType = file.type || '';
var reader = new FileReader();
// onload事件
reader.onload = function (e) {
var base64 = e.target.result || this.result;
var formData = new FormData();
formData.append("upload_file", convertBase64UrlToBlob(base64, fileType), filename);
var xhr = new XMLHttpRequest();
// 開始上傳
xhr.open('POST', uploadImgUrl, true);
// 發(fā)送數(shù)據(jù)
xhr.send(formData);
});
reader.readAsDataURL(file);
});
});