nodejs通过后端接口获取文件,在前端重新组装文件,实现Yapi接口管理系统模拟文件上传

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;

你可能感兴趣的:(nodejs通过后端接口获取文件,在前端重新组装文件,实现Yapi接口管理系统模拟文件上传)