Mic*_*uer 264

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

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

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

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

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

2.对于较大的图像

Firebase确实有10mb(utf8编码的字符串数据)限制.如果你的图像更大,你将不得不将它分成10mb块.虽然Firebase更适合经常更改而不是多兆字节字符串的小字符串,但你是对的.如果你有很多大的静态数据,我肯定会推荐使用S3或CDN.

  • Firebase确实需要为其托管系统添加更大的存储空间,或者在其库中内置api的s3实例. (14认同)
  • @The_Brink感谢您的反馈.这绝对是我们的雷达! (9认同)
  • Firebase确实有10mb(utf8编码的字符串数据)限制.如果你的图像更大,你将不得不将它分成10mb块.虽然Firebase更适合经常更改而不是多兆字节字符串的小字符串,但你是对的.如果你有很多大的静态数据,我肯定会推荐使用S3或CDN. (8认同)
  • @ezain那是对的.我可能不会推荐这种方法用于大型制作网站(你真的想要一个CDN支持的图像服务服务),但它很容易和"足够好"用于大量使用. (4认同)
  • 棒极了.你有没有碰到一些文件大小限制?我不认为Firebase是用多兆字节字符串制作的...... (2认同)
  • 但是,如果没有服务器端脚本,如何安全地连接到S3或CDN(不在客户端公开凭证)来存储大型文档或图像. (2认同)

use*_*163 23

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

希望这可以帮助.

  • 查看更新的firbase文档:https://firebase.google.com/docs/storage/#key_functions (3认同)

小智 18

我自己最终以base64格式存储图像.当我从firebase回调时,我将它们从base64值翻译出来.


Fel*_*ice 9

您还可以使用一个Filepicker将您的图像存储到服务器的服务,Filepicker现在称为Filestack,它将为您提供图像的URL.您可以将网址存储到Firebase.