AngularFire2 db.collection Добавляет ключ 2 раза - PullRequest
0 голосов
/ 09 мая 2018

Я следовал этому руководству, чтобы создать загрузочный компонент для Angular5 с AngularFire2 .

В конце видео он показал фрагмент кода, который позволяет добавить URL-путь к любому другому URL базы данных.

this.snapshot = this.task.snapshotChanges().pipe(
    tap(snap => {
        console.log(snap);
        if (snap.bytesTransferred === snap.totalBytes) {
            // Update firestore on completion
            this.db.collection('photos').add({ path, size: snap.totalBytes }).then();
        }
    })
);

Это создает запись URL для фотографий, но это происходит 2 раза. Есть идеи, как это может быть? При каждой загрузке он создает 2 случайных ключа с одинаковым содержимым внутри.

1 Ответ

0 голосов
/ 10 мая 2018

Попробуйте что-нибудь подобное. Добавить в коллекцию в downloadURL ()

import { AngularFireStorage } from 'angularfire2/storage';
constructor(private storage: AngularFireStorage)

uploadFile(file){
  const filePath = 'images/' + this.docRef + '/';
  const task = this.storage.upload(filePath, file);

  task.percentageChanges().subscribe(per => {
    console.log(per);
  });

  task.downloadURL().subscribe(url => {
    console.log(url);
    this.db.collection('photos').add('required data')
  }
}
...