Firebase 存储访问“..”已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头

New*_*Way 7 firebase-storage

出于调试目的,我在 Chrome 上使用“CORS Unblock”扩展,并且可以在没有任何 CORS 问题的情况下进行加载。

New*_*Way 30

为了解决这个问题

转到https://console.cloud.google.com并选择包含 firebase 存储桶的项目的仪表板。

在右上角,会有一个名为“Activate Cloud Shell”的按钮,点击它,页面底部会打开一个终端,在页面中间附近会有一个名为“Open editor”的按钮,点击它。从那里你应该看到这个:

在此输入图像描述

单击顶部菜单上的“文件”。新文件。将其命名为 cors.json,粘贴以下内容(来自 Firebase 的文档)并点击“保存”。

[
  {
    "origin": ["*"],
    "method": ["GET"],
    "maxAgeSeconds": 3600
  }
]
Run Code Online (Sandbox Code Playgroud)

转到https://console.firebase.google.com/并从左侧菜单中选择“存储”,获取您的存储桶 url(以 开头gs://

然后再次打开终端(激活 Shell 命令)并粘贴

gsutil cors set cors.json gs://<your-cloud-storage-bucket>
Run Code Online (Sandbox Code Playgroud)

理论上,该指定存储桶的错误应该完全消失。

请注意,这仅适用于您输入的存储桶,每个项目可以有 CORS 策略,因为每个项目可以有多个存储桶。它直观且灵活。