是否可以从Firebase静态托管提供图像?

时间:2019-11-07 10:32:02

标签: image firebase firebase-realtime-database

我有一个简单的Firebase Web应用程序,该应用程序托管在Firebase静态托管服务上,您可以在其中上传带有一些文本框的图片,并将其存储在Firebase实时数据库中,如下所示:

{
    name: string,
    description: string,
    picData: base64 string
}

现在,我想通过HTTP Get请求提供此图像。那有可能吗? 类似于:http://myawesomewebsite.com/getImage?name=xhttps://picsum.photos/一样。

1 个答案:

答案 0 :(得分:2)

要能够根据GET请求从Firebase实时数据库提供内容,您将必须使用Cloud Functions for FirebaseCloud Run扩展Firebase托管功能。

Connect Functions to Hosting部分说明了服务“ bigben”页面所需的步骤,该页面可以快速调整以解码数据库中的base64并返回数据。请注意,在提供当前未存储在数据库中的图像时,还必须指定图像的哑剧类型(例如image / png,image / jpeg)。

在可能的情况下,我建议您将图像存储在Firebase Storage中。这将有助于跟踪元数据,例如大小,mime类型和上载时间,同时不会因数据库存储在Base64中而阻塞数据库。客户端SDK也可以通过GET请求检索存储在Firebase存储上的图像,也可以从Cloud Function提供该图像。