У меня проблема с длиной.ОШИБКА TypeError: Невозможно прочитать свойство 'length' из неопределенного - PullRequest
0 голосов
/ 12 декабря 2018

Должна ли длина наследоваться от углового, правого?и почему если (fileList.length> 0) MyPostsComponent.html: 7 ОШИБКА TypeError: Невозможно прочитать «длину» неопределенного свойства.

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);
    });
  }
}

в моем HTML-коде

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

Ответы [ 4 ]

0 голосов
/ 12 декабря 2018

Вы можете изменить в своем коде что-то вроде ...

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

Надеюсь, это сработает.

0 голосов
/ 12 декабря 2018

const fileList: FileList = event.target.filse;

У вас, кажется, есть опечатка, в результате которой fileList будет undefined в качестве цели события определенно не содержит свойства с именем filse.

0 голосов
/ 12 декабря 2018

это потому, что ваш fileList не определен, сначала вы должны проверить, что fileList не определен

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

      if (fileList && `enter code here`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);
        });
      }
    }
0 голосов
/ 12 декабря 2018

Это означает, что fileList равен нулю, добавьте проверку нуля следующим образом:

if (fileList && fileList.length > 0){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...