如何在Firebase上存储和查看图像?
如何在Firebase上存储和查看图像?
当然可以!根据您的图像大小,您有几个选择:
1. 对于较小的图像(小于10mb)
我们有一个示例项目,可以在这里找到:https://github.com/firebase/firepano
通常的方法是在本地加载文件(使用FileReader),以便您可以将其存储到Firebase中,就像存储任何其他数据一样。由于图像是二进制文件,您需要获取base64编码的内容,以便将其存储为字符串。或者更方便的是,您可以将其存储为data:url,然后准备好在img标记的src中插入它(这就是示例所做的)!
2. 对于较大的图像
Firebase确实有一个10mb(utf8编码字符串数据)的限制。如果您的图像更大,您需要将其分成10mb块。不过,您说得对,Firebase更适用于经常变化的小字符串,而不是多兆字节的字符串。如果您有大量静态数据,请务必使用S3或CDN。
我最终自己将图像以base64格式存储。当从Firebase回调时,我会从它们的base64值中转换它们。
您还可以使用名为Filepicker
的服务,该服务将在其服务器上存储您的图像,而Filepicker现在已更名为Filestack,它将为您提供图像的URL。然后,您可以将URL存储到Firebase中。
有几种方法可以实现。我最初采用了Grendal2501的方式。然后我尝试了类似于user15163的方式,您可以将图像URL存储在Firebase中,并将图像托管在Firebase主机上,也可以是Amazon S3。
在JSON中使用Base64字符串将非常重,解析器需要进行大量的处理。目前,Fresco仅支持base支持Base64。最好将其放在Amazon Cloud或Firebase Cloud上,并获取图像URL。这样,您就可以使用Picasso或Glide进行缓存。