如何在 Angular 8 的 FileReader 中从 2 个不同的 HTML 输入获取 2 个文件?

How to get 2 files from 2 different HTML inputs in FileReader in Angular 8?

在我当前的项目中,2 JSON 个文件必须放在一起。为了能够使用所有文件,它们可以通过 2 HTML 输入进行集成。 我使用 JS FileReader 来编辑这两个文件。

有没有办法让这两个文件同时可用?

HTML:

<input (change)="onFileChange($event)" [(ngModel)]="json1" type="file">
<input (change)="onFileChange($event)" [(ngModel)]="json2" type="file">

组件:

public onFileChange(event) {
    var one = this.json1;
    var two = this.json2;
    one = event.target.files;
    two = event.target.files;
    if (one) {
      var i = 0, f; f = one[i]; i++;
      console.log(i);
    } else {
      var i = 0, f2; f2 = two[i]; i++;
      console.log(i);
    }
    var fileReader = new FileReader();
    fileReader.onload = function(fileLoadedEvent) {
        var showJSON = fileLoadedEvent.target.result;
    };
    fileReader.readAsText(f, "UTF-8");
    console.log(f);
  };

我目前的想法是给每个文件一个编号,然后您可以使用该编号,只是到目前为止还没有奏效。

向输入元素添加 multiple 属性

<input type="file" multiple (change)="onFileChange(myInput)" #myInput>

并使用

访问
onFileChange(myInput) {
  console.log(myInput.files) //You will get array of files here loop through each 
}