javascript - 我应该如何在打字稿中将 Blob/File 数组附加到 formData?
问题描述
如果我没有文件数组,这会很好。但它必须是一个数组。
let file1 = new File([""], "filename");
let file2 = new File([""], "filename");
let files = [file1, file2];
let formData = new FormData();
formData.append('files', files);
这在javascript中工作得很好。在打字稿中,我收到此错误。
TS2345: Argument of type 'Blob[]' is not assignable to parameter of type 'string | Blob'. Type 'Blob[]' is not assignable to type 'string'.
除了 // @ts-ignore 我还能做什么?
此外,我正在使用的其余 api 要求 formData 是一个 Blob/文件数组,所以我不能在那里更改任何内容。
解决方案
您可能必须执行以下操作:
let file1 = new File([""], "filename");
let file2 = new File([""], "filename");
let files = [file1, file2];
let formData = new FormData();
for (let file of files){
formData.append('files', file);
}
你会告诉我这是否有效吗?
我认为这是基于这里的讨论的原因:How use formData.append for a array in typescript
推荐阅读
- javascript - Flexbox 页脚在移动设备上未正确定位
- python - 如何修复 Python 的 vk_api 中的“'int' object is not subscriptable”错误
- ios - 这些常量在对齐工具中意味着什么?
- java - JLabel 不会在课堂上显示图像
- javascript - 单击发布链接以在另一页面上显示完整结果
- android - 在 Android 中迁移到最新的 Google Drive API 时出错 - 已超出未经验证使用的每日限制。继续使用需要注册
- javascript - 如何区分 Hash(#) URL 更改与其他 URL 更改?
- html - 为什么在css背景属性中使用url()时我的主机IP在'localhost'中发生了变化
- javascript - 如何检测 JavaScript 手势库中的最小旋转(例如alloyfinger.js)
- javascript - 使用其他语句调用 setState 方法