angular - Jag har ett problem med längd. FEL TypeError: Kan inte läsa egenskapen 'length' av undefined


Borde längden ärvas från angular, eller hur? och varför om (fileList.length > 0) MyPostsComponent.html: 7 FEL TypeError: Kan inte läsa egenskapen 'length' av undefined.

onFileSelection(event){
  const fileList: FileList = event.target.filse;

  if (fileList.length > 0){
    const file: File = fileList[0];
    this.myFire.uploadFile(file).then(data => {
      //TO DO
      this.notifier.display('success','Picture Uploaded!');
      console.log(data['fileUrl']);
    })
    .catch(err => {
      this.notifier.display('error', err.message);
    });
  }
}

på min HTML-kod

<input type="file" (change)="onFileSelection($event)" placeholder="Upload a file" accept=".png, .jpeg, .jpg">

Svar #1

const fileList: FileList = event.target.filse;

Det verkar som att du har ett stavfel där vilket kommer att resultera i att fileList blir undefined eftersom ett händelses mål definitivt inte innehåller en egenskap som heter filse.

Svar #2

Du kan ändra i din kod något som...

const fileList: FileList = event.target.files || [];

jag hoppas att detta kommer att fungera.