Gov*_*iyo 9 firebase flutter firebase-storage google-cloud-firestore
可能是愚蠢的问题,但需要像我这样的初学者清除。
我知道如何在 Firestore 数据库上上传图片,但我想而不是使用FirebaseStorage为什么我们不使用 base64 字符串上传图片,这可能很简单?或者对字符串长度有一些限制?
~ PS:我还没有尝试过使用 base64 字符串在 Firestore 上上传图像。
cre*_*not 14
在云计算公司的FireStore“使用和限制”的文件规定了“为一个文件最大尺寸”是1 MiB (1,048,576 bytes)。
这是用于图像的少量数据,仅允许在单个文档中存储低分辨率图像。您可以将图像存储在多个文档中作为一种解决方法,但是,这不必要地复杂化,而Firebase Storage完美地解决了这个问题。
此外,在聆听文档中的任何更改时,您将下载整个图像(整个文档)。如果您有一个包含image (base64 string)和likes (int count)字段的文档,并且您尝试侦听 的实时更新,则likes每次客户端都会下载完整图像。
因此,Firebase Storage很可能是您要搜索的内容,因为您可以存储任何大小的对象(与您的容量一样大),它为您提供下载 URL 的,并且您无需处理任何编码或解码(尽管Cloud Firestore 允许blob's,即字节数据,以及)。
与 Firebase Storage 相比,在 Firestore 上存储文件(作为二进制数据)没有任何好处。
Firestore 主要针对读写和删除收费,每月免费存储空间仅为 1 GB!!!如果做得不好,这可能是一个严重的陷阱。阅读我们如何在不到 72 小时内在 Firebase 上花费 3 万美元。
Firebase Storage 是迄今为止存储文件的最佳选择,几乎没有文件大小限制且价格便宜得多,然后只需将文件 url 保存到 Firestore 即可。
从技术角度来看,是的,您始终可以存储 (base64) 字符串并稍后使用它来检索图像。但是,base64 字符串最多比字节数据高 30%。因此,如果您使用 base64,您将失去性能和存储空间。
其次,使用 FirebaseStorage 还有另一个优势。就是在手机app在后台的时候上传图片。作为开发人员,我们不必为此编写任何特定代码。
@creativecreatorormaybenot已经指出了 Cloud Firestore 和 Firebase Storage 的限制。
我的结论是:与 base64 相比,更喜欢 Firebase 存储。
| 归档时间: |
|
| 查看次数: |
6281 次 |
| 最近记录: |