首页 文章

Firebase存储网址是否为静态?

提问于
浏览
5

我有一个联系人列表,每个联系人都有一张存储在Firebase存储中的 Profiles 照片 . 获取图像的官方方法是使用Firebase存储SDK获取URL并将其设置为img元素中的src .

firebaseApp.storage().ref("profilePhotos/" + officeId + ".jpg").getDownloadURL().then(function (url) {
                this.photoUrl = url;
            }.bind(this)).catch(function (error) {
                console.log("Photo error"); // TODO: handler
            });

当我必须加载多个文件时(例如在联系人列表中),这非常麻烦 . 上面收到的文件URL是静态的吗?我可以将它存储在配置文件信息中的数据库中并直接使用吗?

谢谢

2 回答

  • 1

    一种非常常见的模式是将文件的下载URL存储在实时数据库中,以便以后使用 . 在您选择revoke them之前,下载网址应该有效 .

  • 3

    根据我的经验,下载网址是静态的 . 此外,如果您查看下载URL下方数据库中的条目,您可以看到重新创建下载URL的选项 .

    将下载URL存储在实时数据库中是跟踪这些下载URL的好方法 . 我会使用push方法将它保存在数据库的一个文件夹中 .

    他们在Realtime Database docs example中使用.push的方式将创建一个存储和检索模式,以解决您的问题 .

    .push用于制作和输入,用.key链接以便以后检索:

    var newPostKey = firebase.database().ref().child('posts').push().key;
    

    .once用于读取你想要的参考数据.then

    firebase.database().ref('/users/' + userId).once('value').then(...)
    

相关问题