【发布时间】:2021-09-19 14:23:37
【问题描述】:
我有一个文件数组,我必须根据文件大小将其拆分成块,这样:
[10MB 图像、5MB 图像、5MB 图像] 最大大小为 20MB 并不需要拆分,但 [10MB、10MB、15MB] 将拆分为 [10MB、10MB] 和 [15MB]强>
然后我必须执行获取文件并将它们放入表单数据以将其发送到端点的功能。
我想要做的是返回一个包含所需块的FormData 数组。
我怎样才能做到这一点?
这是当前函数:
const newImagesToEndpoint = (newFiles: NewImagesInterface[]) => {
const newImages = new FormData();
newFiles.forEach(img => {
newImages.append('images[]', (img.file as unknown) as File);
});
return newImages;
};
【问题讨论】:
-
你能解释一下“return n FormData”是什么意思吗?我已经阅读并重读了倒数第二行几次,这有点令人困惑。你还没有计算出块吗?
-
一个 FormData 数组,所以如果初始数组将被分成 3 个块,我将拥有一个由 3 个 FormData 对象组成的数组
-
哦,我明白了,你仍然需要实现分块。您自己已经尝试过什么?
-
我创建了一个 const "maxSize" 来检查它何时大于 limitFileSize 并将文件放入 formData,但我不知道如何获取其余文件并将其放入另一个一。我想这不是实现它的正确方法
标签: javascript arrays reactjs typescript chunks