Firebase没有使用typescript和Ionic3在metaData中返回downloadURL

时间:2018-06-08 10:07:08

标签: javascript firebase ionic-framework ionic3 firebase-storage

我现在一直在努力让Firebase在元数据中返回downloadURL。根据所有情况,它应该在那里,因为元数据包括fullPath和其他信息,但只是不下载URL。

httpd-vhosts.conf

如果我在控制台中记录它,我可以看到除downloadURL之外的所有内容

我也尝试过改变 .SET(savedPicture.downloadURL); 至 .SET(savedPicture.metadata.downloadURLS [0]);

但任何响应参数中仍然没有downloadURL项目。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用putString方法上传原始字符串后,使用相同的ref并使用getDownloadUrl()方法获取如下所示的URL,

storage()
        .ref(`/item/${newItem.key}/profilePicture.png`).getDownloadUrl() // which returns promise in turn returns the image url once it's available.

在您的情况下,您可以执行以下操作

var storageRef = firebase.storage().ref(`/item/${newItem.key}/profilePicture.png`)

return storageRef.putString(itemPicture, 'base64', { contentType: 'image/png' })
        .then(savedPicture => {
              storageRef.getDownloadUrl()
                .then(url =>{
                  this.activityListRef
                 .child(`${eventId}/itemList/${newItem.key}/profilePicture`)
                 .set(url);
         });             
 });

希望这有帮助