【问题标题】:How to get 2 files from 2 different HTML inputs in FileReader in Angular 8?如何在 Angular 8 的 FileReader 中从 2 个不同的 HTML 输入中获取 2 个文件?
【发布时间】:2020-01-09 10:43:08
【问题描述】:

在我当前的项目中,必须将 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);
  };

我目前的想法是给每个文件一个数字,然后你可以使用它,只是到目前为止这还没有奏效。

【问题讨论】:

    标签: javascript angular filereader


    【解决方案1】:

    为输入元素添加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 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 2018-09-14
      相关资源
      最近更新 更多