So I have been using Angular and Typescript for a long time. I cannot seem to find out what the Type for an Input file is.
For example:
<input type="file" (change)="fileChangeEvent($event)">
fileChangeEvent(e:?????){}
All examples purely just uses event without any type, and I am curious to know if such a type even exists.
Angular includes $event that contains the information about an event. The type of $event depends on the target event, e.g., if the target event is a native DOM element event, then it is an object. A component should define the onShow(event) method where the type of the parameter can be KeyboardEvent, MouseEvent, etc.
The property value type=”file” tells that the type of input the user enters is a file. The property value id=”theFile” is used to link the JavaScript code to it using getElementById() method. The property value onclick=”initialize()” is used to specify the function call when the user has clicked on the input.
For Angular 10 strict-type mode, we need to mention type in parameters. You can follow this way to achieve file-list from file input event
// 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);
}
}
Hope this helps. Please share your feedback.
Use File
The File interface provides information about files and allows JavaScript in a web page to access their content.
Try this
component.html
<input type="file" (change)="fileChangeEvent($event.target.files)">
component.ts
fileChangeEvent(e: File[]){
fileName = e[0];
fileType = fileName.type;
}
Angular 10 and above:
component.html
<input type="file" (change)="upload($event)">
component.ts
upload(event: Event) {
const target = event.target as HTMLInputElement;
const files = target.files as FileList;
console.log(files);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With