【问题标题】:Is it safe to store small images in Firestore?在 Firestore 中存储小图像是否安全?
【发布时间】:2018-11-29 11:34:07
【问题描述】:

我有一个 Firebase 数据库,现在我要迁移到 Firestore。如果我在 Firestore 中存储编码为 Base64 的小图像,会有什么问题吗?我有一个集合sport_products,其中有包含所有详细信息的文档,还有一个带有相应品牌的图标,我想将所有数据+图标存储在一个地方。安全吗?

【问题讨论】:

  • 是的,它是安全的。您只需为 FireStore 设置读写规则。
  • 当您将任何图像上传到 FireStore 时。它会返回该图像的下载网址。然后,您可以将该 url + 数据存储在您的 Firebase 数据库中。
  • @AliAhmed 谢谢,但不想将图像存储在 Firebase 存储中,而是存储在 Firestore 中。这就是想法,将所有数据和图像放在一个地方。没事吧?
  • 您想在 Firestore 中将图像存储为 Base 64 吗?
  • @AliAhmed 是的,这就是我要问的,这样做是否安全。

标签: firebase google-cloud-firestore


【解决方案1】:

您无需在 Firestore 中对任何内容进行 base64 编码。它有一个名为“bytes”的本机二进制字段类型。 base64 只会无缘无故地使数据变大(除非您真的只打算使用 base64 格式的数据)。

您有一个maximum document size of 1MB,因此只要您从未超过该文档中所有数据组合的限制,您就不会有问题。

【讨论】:

  • 不知道。非常感谢。
  • 如何将数据存储为“字节”而不是字符串/base64?我找不到任何关于它的文档。也许是一个数字为 0-255 的数组? (在这种情况下,它会检测到匹配,并使用“字节”作为内部存储而不是“数组”)
  • @Venryx Firestore SDK 根据您传递给它的对象的类型推断字段的类型。我不知道每个平台的工作原理,但您可能会传入一些语言原生字节数组或缓冲区。
  • 我查看了源代码,在 Firestore 中存储为“字节”类型的 JS/web 类型似乎是 Blob。有问题的代码:else if (value instanceof Blob) return new BlobValue(value);
  • 对于其他阅读者,显然需要特定于 firebase 的 Blob 版本。这里有一个例子:stackoverflow.com/a/53672081/2441655
猜你喜欢
  • 2018-12-29
  • 2015-06-22
  • 2011-12-03
  • 2011-01-01
  • 2010-12-28
  • 2010-12-10
  • 2013-12-21
  • 2021-09-26
  • 2019-09-05
相关资源
最近更新 更多