从Flutter Web显示存储在Firebase Storage上的图像



我无法在Flutter Web上检索存储在Firebase存储中的图像。

伴随:

Access to XMLHttpRequest at <firebase-storage-photo-url> has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

根据谷歌云文档

跨来源资源共享(CORS(允许来自不同来源的资源之间的交互,这通常是为了防止恶意行为而禁止的。

遵循firebase文档,以下是如何解决此问题:

  1. 下载gsutil,一个谷歌云CLI,有关如何安装的说明可以在这里找到
  2. 创建具有以下内容的cors.json文件:
[
{
"origin": ["*"],
"method": ["GET"],
"maxAgeSeconds": 3600
}
]
  1. 现在使用CLI使用以下命令部署cors.json规则:
gsutil cors set cors.json gs://<your-cloud-storage-bucket>

您可以在Firebase控制台的存储功能下找到Firebase存储桶的路径。

最新更新