如何在firebase上存储和查看图像?
更新(20160519): Firebase刚刚发布了一个新功能,名为Firebase Storage。这允许您将图像和其他非json数据上传到专用存储服务。我们强烈建议您使用它来存储图像,而不是将它们存储为JSON数据库中的base64编码数据。
你当然可以!根据图片的大小,你有几个选择:
1. 小图像(10mb以下)
我们在这里有一个示例项目:https://github.com/firebase/firepano
一般的方法是在本地加载文件(使用FileReader),这样就可以像存储其他数据一样将其存储在Firebase中。由于图像是二进制文件,因此需要获取base64编码的内容,以便将其存储为字符串。或者更方便的是,你可以将它存储为数据:url,然后准备作为img标记的src插入(这就是示例所做的)!
2. 对于较大的图像
Firebase有10mb (utf8编码的字符串数据)的限制。如果你的图像更大,你必须把它分成10mb的块。你是对的,Firebase更适合频繁变化的小字符串,而不是几兆字节的字符串。如果你有大量的静态数据,我绝对推荐S3或CDN代替。
最后我自己用base64格式存储图像。当从firebase回调时,我将它们从base64值转换。
是的,您可以在Firebase中存储和查看图像。您可以使用文件选择器来获取映像文件。然后,您可以任意托管映像,我更喜欢Amazon s3。托管图像之后,您可以使用为图像生成的URL显示图像。
希望这能有所帮助。
有几种方法,我首先用的是Grendal2501的方法。然后我做了类似于user15163,你可以存储图像URL在firebase和托管图像在您的firebase主机或Amazon S3;
在JSON中使用Base64字符串将非常繁重。解析器必须做大量繁重的工作。目前,Fresco只支持Base64。你最好把东西放到亚马逊云或Firebase云上。并获取一个图像作为URL。这样你就可以使用Picasso或Glide进行缓存。
你也可以使用一个名为Filepicker的服务,它会将你的图像存储到他们的服务器上,而Filepicker现在被称为Filestack,它会为你提供图像的url。您可以将url存储到Firebase。
Filepicker