Я пытаюсь сжать список файлов перед отправкой через 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-файл?
Теперь я могу перехватить zip-файл в Redux-saga, но он не дает расширения, когда я сохраняю его в своей базе данных, вместо этого он дает толькоимя как «капля».
saga.js
const file = yield call(zipTargetFiles, files);
const formData = new FormData();
formData.append("coversheet", file);
const reponse = yield call(apiRequest, formData);