286

如何在 Firebase 上存储和查看图像?

4

6 回答 6

286

更新 (20160519)Firebase 刚刚发布了一项名为Firebase Storage的新功能。这允许您将图像和其他非 JSON 数据上传到专用存储服务。我们强烈建议您使用它来存储图像,而不是将它们作为 base64 编码数据存储在 JSON 数据库中。

你当然可以!根据图像的大小,您有几个选择:

1. 对于较小的图像(10mb 以下)

我们在这里有一个示例项目: https ://github.com/firebase/firepano

一般的方法是在本地加载文件(使用 FileReader),这样您就可以将其存储在 Firebase 中,就像存储任何其他数据一样。由于图像是二进制文件,因此您需要获取 base64 编码的内容,以便将其存储为字符串。或者更方便的是,您可以将其存储为data: url然后准备作为 img 标签的 src 放入(这就是示例所做的)!

2.对于更大的图像

Firebase 确实有 10mb(utf8 编码的字符串数据)的限制。如果您的图像更大,则必须将其分成 10mb 的块。您是对的,尽管 Firebase 针对频繁更改的小字符串而不是数兆字节的字符串进行了优化。如果您有大量的大型静态数据,我肯定会推荐 S3 或 CDN。

于 2012-12-19T17:04:16.403 回答
27

是的,您可以在 Firebase 中存储和查看图像。您可以使用文件选择器来获取图像文件。然后你可以随心所欲地托管图像,我更喜欢 Amazon s3。托管图像后,您可以使用为图像生成的 URL 显示图像。

希望这可以帮助。

于 2015-03-27T21:17:32.420 回答
20

我最终自己将图像存储为 base64 格式。当从 firebase 回调时,我将它们从它们的 base64 值转换。

于 2014-03-26T04:39:49.083 回答
11

您还可以使用名为的服务Filepicker将您的图像存储到他们的服务器和Filepicker,现在称为 Filestack,将为您提供图像的 url。您可以将 URL 存储到 Firebase。

于 2015-12-21T05:41:26.113 回答
3

有几种方法我首先按照 Grendal2501 的方法进行。然后我做了类似于 user15163 的操作,您可以将图像 URL 存储在 firebase 中并将图像托管在您的 firebase 主机或 Amazon S3 上;

于 2015-07-29T16:55:58.517 回答
2

在 JSON 中使用 Base64 字符串会非常繁重。解析器必须做很多繁重的工作。目前,Fresco 只支持 base 支持 Base64。最好在 Amazon Cloud 或 Firebase Cloud 上放一些东西。并获取图像作为 URL。这样您就可以使用 Picasso 或 Glide 进行缓存。

于 2015-10-16T10:15:43.517 回答