开发者问题收集

我有一个关于长度的问题。错误 TypeError: 无法读取未定义的属性“长度”

2018-12-12
1095

长度应该从 angular 继承吗?为什么 if (fileList.length> 0) MyPostsComponent.html: 7 ERROR 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">
3个回答

const fileList: FileList = event.target.filse;

您似乎有一个拼写错误,这将导致 fileListundefined ,因为事件的目标 肯定 不包含名为 filse 的属性。

rorschach
2018-12-12

您可以在代码中更改类似...

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

我希望这会起作用。

R. Viral
2018-12-12

这意味着 fileList 为 null ,添加一个 null 检查,如下所示,

if (fileList && fileList.length > 0){
Sajeetharan
2018-12-12