firebase - 我应该将图片上传到 Cloud Firestore 还是 Firebase S

可能是个愚蠢的问题,但需要像我这样的初学者弄清楚。

我知道如何在 Firestore 数据库上上传图片,但我想而不是使用 FirebaseStorage 为什么我们不使用 base64 字符串来上传图片,这可能很容易?还是对字符串长度有限制?

~ PS : I haven't tried with base64 string to upload image on Firestore.

最佳答案

Cloud Firestore "Usage and limits" documentation声明“文档的最大大小”为 1 MiB(1,048,576 字节)
这是图像的少量数据,仅允许将低分辨率图像存储在单个文档中。作为一种解决方法,您可以将图像存储在多个文档中,但这会不必要地复杂,而 Firebase 存储 完美地解决了这个问题。

此外,在收听文档中的任何更改时,您将下载整个图像(整个文档)。如果您的文档包含 image (base64 string)likes (int count) 字段,并且您尝试监听 likes 的实时更新,您将在每次客户端下载完整的图像。

Firebase Storage因此最有可能是您要搜索的内容,因为您可以存储任何大小(与您的容量一样大)的对象,它为您提供下载 URL,您无需处理任何编码或解码(虽然 Cloud Firestore allows blob's ,也就是字节数据)。

关于firebase - 我应该将图片上传到 Cloud Firestore 还是 Firebase Storage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56830482/

相关文章:

generics - 如何从 Dart/Flutter 中的泛型函数调用命名构造函数

android - Flutter:使用 Sliver 小部件时如何在滚动时隐藏 BottomApp

dart - Flutter如何将容器背景设置为透明色

flutter - 在 SafeArea 中获取小部件高度的正确方法

dart - 在 SnackBarAction onPressed 上 flutter 小吃吧

dart - Column 内展开的小部件未展开,而是不可见

flutter - 如何从字节数据中读取蓝牙特征并将其转换为适当的值(用于 flutter 的蓝牙)

dart - 如何在 Dart 中通过 async* 传输错误?

dart - Flutter,如何让我的原 Material 纽扣更大更紧密地组合在一起。

dart - 如何在 Dart 中将 Class 对象转换为数据结构 `Map` 或 `List o