如何在firebase上存储和查看图像?
答案 0 :(得分:262)
更新(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。
答案 1 :(得分:23)
是的,您可以在Firebase中存储和查看图像。您可以使用filepicker来获取图像文件。然后你可以随心所欲地托管图像,我更喜欢亚马逊s3。托管图像后,您可以使用为图像生成的URL显示图像。
希望这有帮助。
答案 2 :(得分:18)
我自己最终以base64格式存储图像。当我从firebase回调时,我将它们从base64值翻译出来。
答案 3 :(得分:2)
有几种方法可以让我先按照Grendal2501的方式做到这一点。然后,我将其与user15163类似,您可以将图像URL存储在firebase中,并将图像托管在firebase主机或Amazon S3上;
答案 4 :(得分:1)
在JSON中使用Base64字符串会非常繁重。解析器必须做很多繁重的工作。目前,Fresco仅支持基础支持Base64。最好是在Amazon Cloud或Firebase Cloud上添加一些东西。并获取图像作为URL。这样你就可以使用Picasso或Glide进行缓存。