1、後端返回base64格式的文件數據:
// 異步讀取文件爲base64格式
let data = fs.readFileSync(path);
data = new Buffer(data).toString('base64');
2、base64格式在前端轉回數組格式
// base64轉比特,n爲長度,再組裝數組
var bytes = window.atob(fileBase64);
var n = bytes.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bytes.charCodeAt(n);
}
fileArr = u8arr;
3、通過blog、File模擬前端從表單獲取到的文件
// fileType:文件類型,比如image/jpg;
// formFileName:模擬form表單的key值
var blob = new Blob([fileArr], { type: fileType});
let file = new File([blob], fileName, {type: fileType});
formDatas = new FormData();
formDatas.append(formFileName, file);
req.data = formDatas;