AngularFire FirebaseStorage回调不适用于快照方法

时间:2018-10-20 09:43:24

标签: javascript angular firebase firebase-storage angularfire2

没有错误,我只想检查回拨是否正常。但事实并非如此。 这是针对AngularFireStorage的,上传图像后,我打算获取downloadURL,但是问题是,可观察的管道不起作用,我也尝试使用{tap}但没有运气。

这是代码

    const path = `hospital/${new Date().getTime()}_${file.name}`;

const customMetadata = { app : 'PROV-H meta'};

const ref = this.storage.ref(path);

this.task = ref.put(file,{customMetadata});


this.percentage = this.task.percentageChanges();

this.snapshot = this.task.snapshotChanges().pipe(
  finalize(()=>{
    console.log("percent finalize");
  })
);

这是控制台中的日志。

XHR finished loading: GET "http://localhost:4200/sockjs-node/info?t=1540028075438".

zone.js:2969 XHR已完成加载:选项“ https://firebasestorage.googleapis.com/v0/b/prov-h-fae96.appspot.com/o?name=hospital%2F1540028079723_caps.png”。

只是一堆。没有错误。

是否有其他方法可以获取downloadUrl路径?

仅供参考,如果无法使回调正常工作,我将无法订阅downloadURL。

 this.snapshot = this.task.snapshotChanges().pipe(
  finalize(()=>{
    console.log("percent finalize"); //THIS IS NOT GETTING CALLED;
  })
);

1 个答案:

答案 0 :(得分:0)

只需这样做:

this.snapshot = this.task.snapshotChanges().pipe(
 finalize(()=>{
   console.log("percent finalize");
   })
 );
 this.snapshot.subscribe(
  res => {
    console.log(res);
  }, err => {
    console.log(err);
  }
);