我无法在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文档,以下是如何解决此问题:
- 下载
gsutil
,一个谷歌云CLI,有关如何安装的说明可以在这里找到 - 创建具有以下内容的
cors.json
文件:
[
{
"origin": ["*"],
"method": ["GET"],
"maxAgeSeconds": 3600
}
]
- 现在使用CLI使用以下命令部署
cors.json
规则:
gsutil cors set cors.json gs://<your-cloud-storage-bucket>
您可以在Firebase控制台的存储功能下找到Firebase存储桶的路径。