You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用签名URL上传文件至GCS时Chrome报CORS错误但文件已上传

问题原因与解决办法

核心原因

文件上传成功但浏览器报CORS错误,本质是浏览器的CORS安全校验时机导致的:

  • 你的GCS存储桶CORS配置里,responseHeader仅允许了Content-Type这一项响应头;
  • 但GCS处理完PUT上传请求后,会返回ETag、x-goog-generation等额外响应头;
  • 这些不在允许列表内的响应头触发了浏览器的CORS拦截——但此时服务器已经完成了文件上传操作,所以文件能正常出现在存储桶中。

解决办法

更新存储桶的CORS配置,将GCS返回的必要响应头加入responseHeader列表,示例配置如下:

[
  {
    "origin": ["*"],
    "responseHeader": ["Content-Type", "ETag", "x-goog-generation", "x-goog-metageneration"],
    "method": ["GET", "HEAD", "PUT", "POST", "DELETE"],
    "maxAgeSeconds": 3600
  }
]

如果不确定具体需要哪些头,可临时将responseHeader设为["*"](生产环境建议精确配置,避免安全风险),验证问题解决后再调整为具体的头字段。

内容的提问来源于stack exchange,提问作者positron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 13:23:13