I'm trying to make a binding to an input field type file through ngModel on the typical Angular way like this:
<input type="file" id="fileUpload" [(ngModel)]="file">
and
files:any
My problem is that after I have chosen a file, the value of my variable files
is still undefined
Here an example with stackblitz: https://stackblitz.com/edit/angular-6mbdww
The ng-model directive binds the value of HTML controls (input, select, textarea) to application data.
To use NgModel we need to import FormsModule and add it to imports attribute of @NgModule in our module file.
If the user changes the value inside the input field, the Angular property will also change its value. The ngmodel directive is not part of the Angular Core library. It is part of the FormsModule library. You need to import the FormsModule package into your Angular module.
You have to do it externally through (change) event
<input (change)="onFileChange($event)" type="file" id="fileUpload">
And access in the ts file like the below code
files: any[];
onFileChange(event){
this.files = event.target.files;
console.log(event);
}
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