Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase存储如何存储和检索图像_Firebase_Firebase Realtime Database_Firebase Storage - Fatal编程技术网

Firebase存储如何存储和检索图像

Firebase存储如何存储和检索图像,firebase,firebase-realtime-database,firebase-storage,Firebase,Firebase Realtime Database,Firebase Storage,如何在firebase上存储和查看图像?更新(20160519):firebase刚刚发布了一项新功能,名为。这允许您将图像和其他非JSON数据上载到专用存储服务。我们强烈建议您使用它来存储图像,而不是将它们作为base64编码的数据存储在JSON数据库中 你当然可以!根据图像的大小,您有两种选择: 1。对于较小的图像(10mb以下) 我们有一个这样做的示例项目: 一般的方法是本地加载文件(使用FileReader),这样就可以像存储任何其他数据一样将其存储在Firebase中。由于图像是二进制

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

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

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

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

我们有一个这样做的示例项目:

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

2。对于较大的图像


Firebase确实有10mb(utf8编码字符串数据)的限制。如果你的图像更大,你必须把它分成10mb的块。你是对的,不过Firebase更适合经常更改的小字符串,而不是多兆字节的字符串。如果你有大量的静态数据,我肯定会推荐S3或CDN来代替。

我最终以base64格式存储了这些图像。当从firebase调用时,我将它们从base64值转换过来

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



希望这能有所帮助。

有几种方法,我第一次采用了格伦达尔2501的方法。然后我做了类似于user15163的事情,你可以将图像URL存储在firebase中,并在你的firebase主机或AmazonS3上托管图像

在JSON中使用Base64字符串将非常繁重。解析器必须做很多繁重的工作。目前,Fresco仅支持Base64。最好在Amazon云或Firebase云上放置一些东西。并获取图像作为URL。因此,您可以使用毕加索或Glide进行缓存。

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

太棒了。您是否遇到过文件大小限制?我不认为Firebase在制作时考虑到了数兆字节的字符串……Firebase确实有10mb(utf8编码的字符串数据)的限制。如果你的图像更大,你必须把它分成10mb的块。你是对的,不过Firebase更适合经常更改的小字符串,而不是多兆字节的字符串。如果您有大量的静态数据,我绝对推荐S3或CDN。Firebase确实需要为其托管系统添加更大的存储空间,或者在其库中内置API的S3实例。@The_Brink感谢您的反馈。这绝对是我们的雷达@埃赞:没错。我可能不建议大型生产站点使用这种方法(您确实需要CDN支持的图像服务),但对于大量使用来说,这种方法非常简单且“足够好”。403尝试插入和呈现图像时出错-上传图像时存在权限问题-关于如何设置上传的任何信息。我尝试使用acl:“public read”-但上传失败-使用403。任何信息政策文件和桶政策,可以帮助-将是伟大的。AWS-文档编制很困难,没有错误的调试信息,然后拒绝访问。请将此作为另一个问题提问:)完成-尽管堆栈可能不同-如果您能给我任何提示,我将非常欢迎。AWS S3错误调试非常令人沮丧——至少到目前为止是这样。这很酷,如果我使用firebase存储图像,我就可以使用firebase登录进行安全保护截至昨天,firebase发布了一项新功能,名为firebase存储(firebase.google.com/docs/Storage),它允许您上传和下载任意文件(图像、视频、音频等)。它由谷歌云存储(Cloud.Google.com/Storage)支持,具有PB级的规模和极具竞争力的价格。你应该明确地检查一下:)用户发现它很有用,为什么要关闭它?@TinyGiant这不是要求推荐,为什么要关闭它?它问的是软件服务的一个特性——完全是关于这个主题的。我讨厌过早的封闭评论。直截了当的问题不应该因为上帝的爱而结束!我从你的评论中看到了这项服务,我试过了,但不太满意。请查看更新的firbase文档:如果你要在亚马逊上托管图像,为什么不将其保存?这种方法的唯一问题是,当图像较大时,在活动之间移动它们会使应用程序运行缓慢,有时甚至崩溃