我正在使用firebase并制作一个应用程序,使用户可以保存6个人资料图片。
现在,我已经准备了6个imageView,用户可以通过点击每个imageView来简单地添加其图像。
我想将图像保存到Firebase存储并将URL下载到Firebase数据库。从技术上讲,我可以保存它,但不确定如何构造数据库和图像文件名。
当前,我使用Dateformatter命名了图像文件(例如“ yyyy-MM-dd''HH:mm:ss” .jpg) 并将下载URL设置为数据库 “ yyyy-MM-dd''HH:mm:ss”:“ downloadURL”
数据库结构如下:
"User" : {
“user’s uid” : {
"ImgURLs” : {
"2018-09-02_21:59:80" : “(here is the url)”,
"2018-09-02_22:05:72" : "(here is another url)",
"2018-09-02_23:49:54” : "(here is another url)"
},
}
}
但是以这种方式,我不知道如何相应地检索这6个Imageview的数据。
如果我的问题有道理的话,是否有实施的机会。
答案 0 :(得分:1)
更改网址的存储方式应提供答案
users :
uid :
userName: "some name"
ImgURLs :
-Jiokoisd094k //key created with childByAutoId
url : “(here is the url)”
timestamp : "2018-09-02_21:59:80"
-k0k4000od0if //key created with childByAutoId
url : "(here is another url)"
timestamp : "2018-09-02_22:05:72"
有了这个,只要您知道用户的uid,就可以在users / uid / ImgURLs访问他们的图像URL。这也使您可以存储时间戳和有关每个图像的其他信息。可能是一个带有标题的子节点:每个子节点中的“ Dang,您看起来很好”。
根据用例,如果您需要查询那些节点,则最好对数据进行非规范化并将其存储在单独的节点中
users :
uid :
userName: "some name"
urls :
uid :
-Jiokoisd094k //key created with childByAutoId
url : “(here is the url)”
timestamp : "2018-09-02_21:59:80"
-k0k4000od0if //key created with childByAutoId
url : "(here is another url)"
timestamp : "2018-09-02_22:05:72"