Angular / Ошибка загрузки файла Firebase: «[объект объекта]» - PullRequest
0 голосов
/ 13 февраля 2020

РЕДАКТИРОВАТЬ : Я нашел решение, необходимое для добавления имени файла в ссылку:

this.fireStorage.storage.ref(file.name).put(file);

Я пытаюсь загрузить файл в FireStorage. Но я застрял на этой ошибке:

Ошибка: «[объект объект]» Angular 13 GedInputComponent. html: 6: 2 View_GedInputComponent_0 GedInputComponent. html: 6 Angular 13

ОШИБКА КОНТЕКСТА Объект {view: {…}, nodeIndex: 8, nodeDef: {…}, elDef: {…}, elView: {…}} GedInputComponent. html: 6: 2 View_GedInputComponent_0 GedInputComponent . html: 6 Angular 13

Вот мой код :

<mat-dialog-content class="content">
  <input type="file" (change)="detectFile($event)"/>
</mat-dialog-content>
<mat-dialog-actions class="buttons">
  <button mat-raised-button (click)="addFile()">Add</button>
</mat-dialog-actions>

Здесь я получаю файл:

export class GedInputComponent {
  selectedFile: File;

  addFile() {
    this.gedService.uploadFile(this.selectedFile);
    this.dialogRef.close();
  }
  detectFile(event) {
    this.selectedFile = event.target.file;
  }
}

Здесь я пытаюсь загрузить файл:

export class GedService {
  constructor(private fireStorage: AngularFireStorage) { }
  public uploadFile(file: File): void {
    this.fireStorage.storage.ref().put(file); // When i remove this line there is no error
  }
}

1 Ответ

0 голосов
/ 14 февраля 2020

Я думаю, что вы должны сделать:

  detectFile(event) {
    this.selectedFile = event.target.files[0];
  }

Посмотрите на Загрузка файлов с загрузкой и Использование файлов из веб-приложений .

...