当使用gsutil中配置的cors的PUT方法上载到Google云存储时,没有访问控制允许Origin

当使用gsutil中配置的cors的PUT方法上载到Google云存储时,没有访问控制允许Origin,cors,google-cloud-storage,cloudflare,Cors,Google Cloud Storage,Cloudflare,我们已经找到了整个网络来解决这个问题,但仍然没有运气! 我们有一个网站,我们让用户上传文件直接到谷歌云存储桶与签名上传url生成的后端,我们上传一个PUT请求。每当用户上传文件时,chrome开发工具控制台中就会出现一个错误 No 'Access-Control-Allow-Origin' header is present on the requested resource. 我们已将桶的cors设置更新如下: $ gsutil cors get gs://{BUCKET_NAME} [{"

我们已经找到了整个网络来解决这个问题,但仍然没有运气! 我们有一个网站,我们让用户上传文件直接到谷歌云存储桶与签名上传url生成的后端,我们上传一个PUT请求。每当用户上传文件时,chrome开发工具控制台中就会出现一个错误

No 'Access-Control-Allow-Origin' header is present on the requested resource.
我们已将桶的cors设置更新如下:

$ gsutil cors get gs://{BUCKET_NAME}
[{"method": ["POST", "PUT", "GET", "HEAD", "OPTIONS"], "origin": ["*"], "responseHeader": ["*"]}]
但是,无论何时发送请求,响应报头中都不会返回访问控制允许源报头

注意:我们使用的是一个计算引擎实例,我们的域名由Cloudflare管理

一些文章认为这可能是一个缓存问题,但我们已经面临这个问题好几个星期了,没有任何改变


我听说PUT方法可能需要飞行前请求才能工作,我知道飞行前请求的理论部分,但我以前从未使用过它,也不知道该怎么做,我应该在发送主提取请求之前添加另一个请求,还是完全自动且发生在幕后

我将把我的评论作为答案发布,因为评论部分太长了

在研究大量引用此错误的帖子时,我偶然发现可能与您的相关,因为用户正在GCS上上传文件

您还可以找到有关在地面军事系统上启动可恢复上传的文档

当使用可恢复上传时,您首先需要向 要启动它的端点,然后是1个或多个端点(取决于数字 组块)放置实际上载的请求。当原始标题 未在第一篇文章中指定,最后一个块将不包含 允许CORS工作的标题和浏览器将拒绝 请求,即使它可以实际生成(如果文件 上传)


我希望这些信息能有所帮助。

我会将我的评论作为答案发布,因为评论部分太长了

在研究大量引用此错误的帖子时,我偶然发现可能与您的相关,因为用户正在GCS上上传文件

您还可以找到有关在地面军事系统上启动可恢复上传的文档

当使用可恢复上传时,您首先需要向 要启动它的端点,然后是1个或多个端点(取决于数字 组块)放置实际上载的请求。当原始标题 未在第一篇文章中指定,最后一个块将不包含 允许CORS工作的标题和浏览器将拒绝 请求,即使它可以实际生成(如果文件 上传)

我希望这些信息有帮助