firestore数据库添加图像进行记录

时间:2018-03-13 21:11:38

标签: java blob jpeg google-cloud-firestore

我需要将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); 我感谢任何帮助。

1 个答案:

答案 0 :(得分:14)

作为一般规则,除非你存储相当小的图标,否则我会说,“不要这样做。”

虽然您可以在Cloud Firestore中存储本机二进制数据(您实际上不需要对图像进行base64编码),但是您将遇到数据库中的某些限制 - 特别是单个文档不能超过1MB大。

相反,我会将图像存储在Cloud Storage for Firebase中,然后将下载URL保存在Cloud Firestore中。云存储在存储成本方面大约便宜7倍,在最大文件大小方面有更大的限制,通过抓取这些下载URL,您可以利用像Picasso和Glide这样的第三方库来管理图像下载你,同时还添加了漂亮的功能,如内存或磁盘缓存或显示占位符图形。

您可能需要查看this video以获取更多信息。