Pesquisa de site

typescript - Como abrir um diálogo de input type="file" a partir do Angular - ng2FileUpload


Estou usando o ng2FileUpload para criar o arrastar e soltar para upload, mas também quero permitir que os usuários cliquem na área de soltar para abrir a caixa de diálogo de arquivos.

Considerando que eu tenho esta entrada:

<input type="file" ng2FileSelect [uploader]="uploader" style="display: none" />

Como posso exibir a caixa de diálogo de arquivo a partir do código TypeScript do Angular 4?

Resposta #1

Eu consegui fazer desta maneira:

Modelo :

<input type="file" ng2FileSelect [uploader]="uploader" hidden #fileInput />

Componente Angular:

@ViewChild('fileInput') fileInput:ElementRef;

public openFileDialog():void {
    let event = new MouseEvent('click', {bubbles: false});
    this.fileInput.nativeElement.dispatchEvent(event);
  }