角度输入文件:选择相同的文件

时间:2019-12-23 20:44:11

标签: html file input

我在HTML中包含以下行:

<input type="file" #fileInput style="display: none"  accept=".xml" (change)="OnFileSelected($event)"/>

选择文件后,将调用OnFileSelected回调。 但是,如果我再次选择同一文件,则不会调用此回调。

可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

如果选择了相同文件,

onChange将不会检测到输入类型文件的任何更改。我建议

使用2种可能的方法来使onChange处理同一文件选择
  1. 您要么需要添加一个onClick之类的事件来清除值,否则更改事件才能正常工作。

    <input type="file" #fileInput style="display: none" accept=".xml" (change)="OnFileSelected($event)" (click)="this.value=null"/>

  2. 向输入元素中添加multiple属性

    <input type="file" #fileInput style="display: none" accept=".xml" (change)="OnFileSelected($event)" multiple/>

希望这会有所帮助。

答案 1 :(得分:0)

基于Anand的回答,我使用了以下代码:

<input type="file" #fileInput style="display: none"  accept=".xml" (change)="OnFileSelected($event)" [(ngModel)]="value"/>

在ts代码中:

  public OnFileSelected (event)
  {
    let fileList: FileList = event.target.files;
    this.value = undefined;
  }

最好的问候, 兹维卡