Свойство 'arrayBuffer' не существует для типа 'File' - PullRequest
1 голос
/ 27 марта 2020

Я получаю ошибку типа при реализации кода для загрузки файла в приложении Angular. Я использую angular 8 и машинопись 3,5.3. Ниже приведен мой код

Шаблон <input type="file" id="file" (change)="handleFileInput($event.target.files)">

И функция в классе компонентов

  handleFileInput(files: FileList): void {
    files[0].arrayBuffer().then((value) => {
      console.log(value);
    });
   }

Во время компиляции я получаю эту ошибку: error TS2339: Property 'arrayBuffer' does not exist on type 'File'.

Есть идеи, как избавиться от этой ошибки?

1 Ответ

0 голосов
/ 27 марта 2020

Измените свой код html на

<input type="file" id="file" (change)="handleFileInput($event)">

Ваш TS

handleFileInput(event: Event) {
   const file = (event.target as HTMLInputElement).files[0];
   const reader = new FileReader();
   let preview;
   reader.onload = () => {
     this.preview = reader.result as string;
   };
   reader.readAsDataURL(file);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...