提交

时间:2020-03-06 15:04:51

标签: javascript angular typescript form-data

我开发了文件输入。选择该文件时,将执行检测文件并将其发送到服务的功能。

我的问题是格式总是吸收所有选定的文件,并且从不清除。也就是说,如果您选择2张图像,然后删除其中一张,则得到1,但是如果删除一张图像后,插入另一张...我将得到3张而不是2张(应该是2张,因为其中一张已经删除)。问题在于formdata总是存储所有内容。

无论何时插入文件,都可以清除格式数据吗?

Example - Stackblitz

代码

  <input type="file" id="files" (change)="Add($event)">

  formData1 = new FormData();

 Add(event) {
    var anex = event.target.files;

    for (let index = 0; index < anex.length; index++) {
          this.formData1.append('file', anex[index]);
        }  

        this.sendfiles()
  }

  sendfiles(){
    console.log("Clear formdata();")
    console.log(this.formData1)
  }

1 个答案:

答案 0 :(得分:0)

在添加新文件之前,应清除formData作为新实例。

 Add(event) {
    var anex = event.target.files;
    // Clear form data before appending new ones
    this.formData1 = new FormData();

    for (let index = 0; index < anex.length; index++) {
          this.formData1.append('file', anex[index]);
        }  

        this.sendfiles()
  }
相关问题