Ionic 2 Firebase从存储中获取图像网址

时间:2017-07-17 00:23:15

标签: firebase ionic-framework ionic2 firebase-storage

我似乎无法根据文件名获取存储中图片的下载网址。

更正,我可以,但我似乎无法将变量从函数中删除。例如。我的代码:

<paths>
    <external-path path="." name="external_files" />
    <root-path path="." name="sdcard1" />

</paths>

Log1:https://firebasestorage.googleapis.com/v0/b/icorp-dashboard.appspot.com/o/venues%2Fcinema.jpg?alt=media&token=e5be11ef-f53f-48dc-ab79-a81a50c0e317

Log2:undefined

为什么我无法获取图片链接返回?

1 个答案:

答案 0 :(得分:2)

因为将promisethen一起使用会使您的任务异步,并将其置于事件队列中以便稍后执行,因此console.log("log2: " + imgUrl);将在imgUrl = url;之前执行

 public getVenueImage(image: string){
    let imgUrl: string;
    try{
      this.firebase.storage().ref().child("/venues/" + image ).getDownloadURL().then(function(url){
        console.log("log1: " + url);
        return url;
      });
    }
    catch(e){
      console.log(e);
    }   
}