我应该如何在Typescript中将Blob / File数组追加到formData?

时间:2020-07-21 17:04:56

标签: javascript typescript file blob

如果我没有文件数组,这将很好地工作。但这必须是一个数组。

  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 /文件数组,因此我无法在此进行任何更改。

1 个答案:

答案 0 :(得分:1)

您可能必须执行以下操作:

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