谷歌云存储没有将CORS头添加到选项调用中

谷歌云存储没有将CORS头添加到选项调用中,cors,xmlhttprequest,google-cloud-storage,Cors,Xmlhttprequest,Google Cloud Storage,我们正在尝试从谷歌云存储下载一个基本的XHR文件 已经使用gsutil和json为bucket设置了cors设置 [{ "origin": ["*"], "method": ["*"], "responseHeader": ["origin"], "maxAgeSeconds": 1800 }] 它对除选项之外的所有方法都很有效。不幸的是,对于XHR,浏览器似乎总是在做一个选项来检查cors头,因此阻止了下载。我还尝试将JSON中的方法显式设置为OPTIONS,但这没有帮助 有

我们正在尝试从谷歌云存储下载一个基本的XHR文件

已经使用gsutil和json为bucket设置了cors设置

[{
  "origin": ["*"],
  "method": ["*"],
  "responseHeader": ["origin"],
  "maxAgeSeconds": 1800
}]
它对除选项之外的所有方法都很有效。不幸的是,对于XHR,浏览器似乎总是在做一个选项来检查cors头,因此阻止了下载。我还尝试将JSON中的方法显式设置为OPTIONS,但这没有帮助

有人知道为什么只有选项是关闭的吗

编辑:为了验证,我通过邮递员发送请求。 对资产的GET调用将导致200 OK响应,其标题包括

Access-Control-Allow-Origin → *
Access-Control-Expose-Headers → origin

但当我向同一资产发送选项调用时,仍然是200 OK,但缺少所有Access Control-*头。

我不确定属性“method”是否允许通配符。在中,所有方法都是显式编写的:

“方法”:[“获取”、“头部”、“删除”]


您应该尝试列出所有方法,包括选项。

请使用编辑/更新问题,并粘贴到浏览器在devtools控制台中显示的确切CORS错误消息中。另外,使用devtools检查响应的HTTP状态代码。是200还是204?相反,它可能是4xx或5xx错误状态-在这种情况下,它将没有CORS响应头,并指示端点尚未配置为正确响应选项请求。我也有同样的问题,即使选项已明确列出。