我需要将jpeg图像添加到firestore db记录中。我喜欢的方式是在Blob中,就像我在Sqlite记录中使用的那样。我在尝试这个时遇到了一些问题。以下是迄今为止我最好的尝试:
class CreateListings < ActiveRecord::Migration[5.1]
def change
create_table :listings do |t|
t.integer :listing_id
t.string :state
t.timestamps
end
end
end
我的问题在于 blob = fromBase64String(wBlob);
我也有将blob传递给设置记录的类的问题。 intent.putExtra(“blobImage”,blob); 我感谢任何帮助。
答案 0 :(得分:14)
作为一般规则,除非你存储相当小的图标,否则我会说,“不要这样做。”
虽然您可以在Cloud Firestore中存储本机二进制数据(您实际上不需要对图像进行base64编码),但是您将遇到数据库中的某些限制 - 特别是单个文档不能超过1MB大。
相反,我会将图像存储在Cloud Storage for Firebase中,然后将下载URL保存在Cloud Firestore中。云存储在存储成本方面大约便宜7倍,在最大文件大小方面有更大的限制,通过抓取这些下载URL,您可以利用像Picasso和Glide这样的第三方库来管理图像下载你,同时还添加了漂亮的功能,如内存或磁盘缓存或显示占位符图形。
您可能需要查看this video以获取更多信息。