#Error:- NG9: Property 'files' does not exist on type 'EventTarget'.

1 messages · Page 1 of 1 (latest)

fervent snow
#
Angular University

Everything that you need to know to build a fully functional custom file upload component in Angular.

#
import { Component } from '@angular/core';

interface HTMLInputEvent extends Event {
    target: HTMLInputElement & EventTarget;
}

@Component({
  selector: 'app-file-upload',
  standalone: true,
  imports: [],
  templateUrl: './file-upload.component.html',
  styleUrl: './file-upload.component.css'
})
export class FileUploadComponent {

  onFileSelected(event:HTMLInputEvent) {

    const file:File|null  = event.target!.files!.item(0);

    if (file) {
      console.log(file);
      const formData = new FormData();
      formData.append("file1", file);
      console.log(formData);
    }
  }
}
rare turret
#

You know that the target is an HTMLInputElement, so tell TypeScript:
(event.target as HTMLInputElement).files.items(0)