我有一个联系人列表,每个联系人都有一张存储在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 回答
一种非常常见的模式是将文件的下载URL存储在实时数据库中,以便以后使用 . 在您选择revoke them之前,下载网址应该有效 .
根据我的经验,下载网址是静态的 . 此外,如果您查看下载URL下方数据库中的条目,您可以看到重新创建下载URL的选项 .
将下载URL存储在实时数据库中是跟踪这些下载URL的好方法 . 我会使用push方法将它保存在数据库的一个文件夹中 .
他们在Realtime Database docs example中使用.push的方式将创建一个存储和检索模式,以解决您的问题 .
.push用于制作和输入,用.key链接以便以后检索:
.once用于读取你想要的参考数据.then