Así que he estado usando Angular y Typescript durante mucho tiempo. Parece que no puedo averiguar cuál es el Tipo para un archivo de entrada.
Por ejemplo:
<input type="file" (change)="fileChangeEvent($event)"> fileChangeEvent(e:?????){}Todos los ejemplos solo usan eventos sin ningún tipo, y tengo curiosidad por saber si tal tipo existe.
Angular 10 y superior:
componente.html
<input type="file" (change)="upload($event)">componente.ts
upload(event: Event) { const target = event.target as HTMLInputElement; const files = target.files as FileList; console.log(files); }Declaración de una línea para obtener el tipo de archivo:
fileInput: any fetchFileType($event); fetchFileType(fileInput: any) { fileName = this.fileInput.target.files[0]; fileType = fileName.type; }Para el modo de tipo estricto de Angular 10, debemos mencionar los parámetros de tipo. Puede seguir este camino para lograr la lista de archivos desde el evento de entrada de archivos
// HTML <input type="file" (change)="uploadFile($event)"> // TS uploadFile(event: Event) { const element = event.currentTarget as HTMLInputElement; let fileList: FileList | null = element.files; if (fileList) { console.log("FileUpload -> files", fileList); } }Espero que esto ayude. Por favor, comparta sus comentarios.
El tipo es Event
fileChangeEvent(e: Event){}Usar archivo
La interfaz de archivo proporciona información sobre los archivos y permite que JavaScript en una página web acceda a su contenido.
Prueba esto
componente.html
<input type="file" (change)="fileChangeEvent($event.target.files)">componente.ts
fileChangeEvent(e: File[]){ fileName = e[0]; fileType = fileName.type; }