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

问题描述 投票:2回答:1

我只想检查回叫是否正常,没有错误。但事实并非如此。这用于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;
  })
);
javascript angular firebase firebase-storage angularfire2
1个回答
0
投票

只需这样做:

this.snapshot = this.task.snapshotChanges().pipe(
 finalize(()=>{
   console.log("percent finalize");
   })
 );
 this.snapshot.subscribe(
  res => {
    console.log(res);
  }, err => {
    console.log(err);
  }
);
© www.soinside.com 2019 - 2024. All rights reserved.