Firebase 在Firestore文档中引用图像的正确方法

Firebase 在Firestore文档中引用图像的正确方法,firebase,google-cloud-firestore,firebase-storage,Firebase,Google Cloud Firestore,Firebase Storage,在我的应用程序中,我的用户文档有一个与之关联的化身图像,该图像保存在云存储中。目前,我在用户对象中有一个字段,它引用其图像的下载URL。只是想知道这是否是正确的/最好的方法。要实现存储在云存储中的化身图像与Firebase项目的特定用户之间的链接,没有真正的最佳方法 您可以很好地使用这种方式(在用户对象中有一个“引用下载URL的字段”) 另一种方法是将化身图像存储在默认存储桶下的公共“文件夹”中,使用用户UID命名化身图像(请参见底部的“文件夹”注释) 然后,您可以使用以下结构的链接直接下载图

在我的应用程序中,我的用户文档有一个与之关联的化身图像,该图像保存在云存储中。目前,我在用户对象中有一个字段,它引用其图像的下载URL。只是想知道这是否是正确的/最好的方法。

要实现存储在云存储中的化身图像与Firebase项目的特定用户之间的链接,没有真正的最佳方法

您可以很好地使用这种方式(在用户对象中有一个“引用下载URL的字段”)


另一种方法是将化身图像存储在默认存储桶下的公共“文件夹”中,使用用户UID命名化身图像(请参见底部的“文件夹”注释)

然后,您可以使用以下结构的链接直接下载图像(或将其包含在
imgsrc
HTML标记中)



注意:实际上谷歌云存储没有真正的“文件夹”,但通过在文件路径中使用“/”分隔符,它的行为将类似于文件夹。特别是Firebase控制台将显示文件夹中组织的文件。

要实现存储在云存储中的化身图像与Firebase项目的特定用户之间的链接,实际上没有最佳方法

您可以很好地使用这种方式(在用户对象中有一个“引用下载URL的字段”)


另一种方法是将化身图像存储在默认存储桶下的公共“文件夹”中,使用用户UID命名化身图像(请参见底部的“文件夹”注释)

然后,您可以使用以下结构的链接直接下载图像(或将其包含在
imgsrc
HTML标记中)


注意:实际上谷歌云存储没有真正的“文件夹”,但通过在文件路径中使用“/”分隔符,它的行为将类似于文件夹。特别是Firebase控制台将显示文件夹中组织的文件

https://firebasestorage.googleapis.com/v0/b/<yourprojectname>.appspot.com/o/users%2F38r174prM9aTx4JAdcm50r3V0Hq2.png?alt=media
service firebase.storage {
 match /b/{bucket}/o {

    match /privateFiles {   //All other files that are not under users
     match /{allprivateFiles=**} {
       allow read: if false;
       allow write: .....
     }
   }

   match /users/{userId} {   //Public "folder"
     allow read;
   }
 }
}