首页 > 解决方案 > 在 Firestore 中存储图像参考

问题描述

我正在从头开始创建博客。我知道 Firestore 不是存储图像的地方,但云存储是。我了解到您只需要对存储在云存储中的图像的引用来检索它们,但是我是将属于博客文章的引用存储在数组中还是将地图存储在 firestore 中的该博客文章文档中?或者有没有更好的方法来做到这一点?

标签: google-cloud-firestoregoogle-cloud-storagefirebase-storage

解决方案


在 Cloud Storage 博客中存储图像时,您必须考虑是否要包含删除它们的功能。

如果您将它们存储在数组中,然后其中一个将被删除,以防止另一个更改其引用,您可以在那里留下一些占位符,即“删除”。

所以使用python中的字典之类的概念会更合理,所以你不介意元素的顺序及其位置:

images = {'image1': 'image1.jpg', 'image2', 'image2.jpg'}
file_img = images['image2']
with open(file_img, 'rb') as file:
    img = file.read()

请记住,Google Cloud Storage对存储对象的名称有一些限制:

  1. UTF-8编码时不能超过1024bytes
  2. 不能包含回车或换行
  3. 不能包含点“.” 或双点“..”
  4. 不应包含控制字符
  5. 不应使用字符“#”或方括号“[”、“]”

在命名和安全方面遵循谷歌云存储的最佳实践也是合理的:即避免将敏感的私有数据存储在对象的名称中,公开访问哪些对象。


推荐阅读