AngularFire2 db.collection添加键2次

时间:2018-05-09 18:55:54

标签: firebase angular5 angularfire2

我按照本指南create a upload-component for Angular5 with AngularFire2

在视频结束时,他展示了一个代码段,允许向任何其他数据库网址添加网址路径。

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次。知道这是怎么回事吗?每次上传他都会创建两个内容完全相同的随机密钥。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情。添加到 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')
  }
}