可能是个愚蠢的问题,但需要像我这样的初学者弄清楚。
我知道如何在 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
flutter - 在 SafeArea 中获取小部件高度的正确方法
dart - 在 SnackBarAction onPressed 上 flutter 小吃吧
dart - Column 内展开的小部件未展开,而是不可见
flutter - 如何从字节数据中读取蓝牙特征并将其转换为适当的值(用于 flutter 的蓝牙)
dart - 如何在 Dart 中通过 async* 传输错误?