Я впервые работаю над угловым проектом, который собирает данные о продуктах. Хотя все работает отлично, я получаю сообщение об ошибке в html-файле загрузки изображения. я получаю эту ошибку Свойство «файлы» не существует для типа «EventTarget».
Это html-файл
<div class = "row mb-3">
<label for = "Product Image" class = "col-sm-2 col-form-label">Product Image:</label>
<div class = "form-group">
<input type = "file" id = "photo" name = "photo" (change) = "handleFileInput($event.target.files)">
</div>
</div>
А это мой .ts файл
export class AddProductComponent implements OnInit {
model:any = {}
fileToUpload: File = null;
handleFileInput(files:FileList){
this.fileToUpload=files.item(0);
console.info(this.fileToUpload);
const formData: FormData = new FormData();
formData.append('Image', this.fileToUpload);
this.http.post('http://localhost:3000/upload',formData).subscribe((res)=>{
console.info(res);
});
}
Кто-нибудь может мне помочь...





не передавайте files в качестве аргумента, вместо этого передайте весь $event:
<div class = "row mb-3">
<label for = "Product Image" class = "col-sm-2 col-form-label">Product Image:</label>
<div class = "form-group">
<input type = "file" id = "photo" name = "photo" (change) = "handleFileInput($event)">
</div>
</div>
handleFileInput(event){
this.fileToUpload=event.target.files[0];
console.info(this.fileToUpload);
const formData: FormData = new FormData();
formData.append('Image', this.fileToUpload);
this.http.post('http://localhost:3000/upload',formData).subscribe((res)=>{
console.info(res);
});
Это сработало, Вэнь, большое спасибо за помощь.