我有一个简单的Firebase Web应用程序,该应用程序托管在Firebase静态托管服务上,您可以在其中上传带有一些文本框的图片,并将其存储在Firebase实时数据库中,如下所示:
{
name: string,
description: string,
picData: base64 string
}
现在,我想通过HTTP Get请求提供此图像。那有可能吗? 类似于:http://myawesomewebsite.com/getImage?name=x 像https://picsum.photos/一样。
答案 0 :(得分:2)
要能够根据GET请求从Firebase实时数据库提供内容,您将必须使用Cloud Functions for Firebase或Cloud Run扩展Firebase托管功能。
Connect Functions to Hosting部分说明了服务“ bigben”页面所需的步骤,该页面可以快速调整以解码数据库中的base64并返回数据。请注意,在提供当前未存储在数据库中的图像时,还必须指定图像的哑剧类型(例如image / png,image / jpeg)。
在可能的情况下,我建议您将图像存储在Firebase Storage中。这将有助于跟踪元数据,例如大小,mime类型和上载时间,同时不会因数据库存储在Base64中而阻塞数据库。客户端SDK也可以通过GET请求检索存储在Firebase存储上的图像,也可以从Cloud Function提供该图像。