在通过http请求发送之前,我正在尝试压缩文件列表。但我被困在这里了。
export default function zipTargetFiles(files) {
if (files.length <= 1) {
return files;
} else {
const zip = require('jszip')();
for (let i = 0; i < files.length; i++) {
zip.file(files[i].name, files[i]);
}
return zip.generateAsync({type:"blob"});
}
}
基本上,该函数接受一个文件列表,并尝试将它们压缩到一个.zip文件中。但是当我将其作为格式数据发送出去时,它给出的错误是提交的数据不是一个文件。
我检查了报头中的有效负载,目标字段是[object Promise]
。如何才能真正返回一个.zip文件?
现在我可以在Redux-saga中捕获zip文件了,但是当我将它保存到数据库中时,它没有给出扩展名,而是只给出了'blob‘的名称。
saga.js
const file = yield call(zipTargetFiles, files);
const formData = new FormData();
formData.append("coversheet", file);
const reponse = yield call(apiRequest, formData);
https://stackoverflow.com/questions/52882703
复制相似问题