一尘不染

我应该将图像上传到Cloud Firestore或Firebase Storage吗?

flutter

可能是愚蠢的问题,但像我一样需要为初学者清除。

我知道如何在Firestore数据库上上传图像,但是我想而不是FirebaseStorage为什么不使用base64字符串来上传图像,这可能是如此简单?还是字符串长度有一些限制?

〜PS:我没有尝试使用base64字符串在Firestore上上传图像。


阅读 303

收藏
2020-08-13

共1个答案

一尘不染

云计算公司的FireStore“使用和限制”的文件规定了“为一个文件最大尺寸”是1 MiB (1,048,576 bytes)
这是用于图像的少量数据,仅允许在单个文档中存储低分辨率图像。您可以将图像存储在多个文档中作为一种解决方法,但这不必要地很复杂, Firebase
Storage
可以完美地解决此问题。

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

因此,Firebase
Storage
很可能是您要搜索的内容,因为它可以存储任何大小(与容量一样大)的对象,它为您提供
下载URL ,并且您不必处理任何编码或解码(尽管Cloud
Firestore允许blob(也
就是字节数据)。

2020-08-13