【问题标题】:CORS header allow origin error when loading image via JavaScript通过 JavaScript 加载图像时,CORS 标头允许来源错误
【发布时间】:2016-12-02 20:53:14
【问题描述】:

我相信我已经正确地为存储在 firebase 存储中的图像设置了 CORS 标头,但是当我尝试使用我的代码访问它时出现错误。

我的 cors.json 文件如下所示:

[ 
{ 
"origin": [ 
"http://localhost:9090", "https://xrd.github.com" 
], 
"responseHeader": [ 
"Content-Type" 
], 
"method": [ 
"GET", 
"HEAD", 
"DELETE" 
], 
"maxAgeSeconds": 3600 
} 
]

我运行了这个命令:

$ gsutil cors set cors.json gs://yumejs-42402.appspot.com

我可以使用 cURL 命令验证事情是否正常工作?我应该在任何请求中看到标头吗?

$ curl -Is 'https://firebasestorage.googleapis.com/v0/b/yumejs-42402.appspot.com/o/images%2FT7inLHFI8CPZNFYB9LMla2rkKHh1%2F1.jpg?alt=media&token=3174a842-42fd-4155-8948-1f07f8ba10b6' \ 
| grep Access | grep Origin


Access-Control-Allow-Origin: *

这意味着它不正确,对吧?这似乎允许所有请求...

我可以在 Firebase 网络控制台(或 cloud.google.com)中查看 CORS 设置吗?

此链接记录了问题(您需要查看 JS 控制台)

https://xrd.github.io/yume.js/player.html?comic=W3sibW9kZWxzIjpbeyJuYW1lIjoiaHR0cHM6Ly9maXJlYmFzZXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vdjAvYi95dW1lanMtNDI0MDIuYXBwc3BvdC5jb20vby9pbWFnZXMlMkZUN2luTEhGSThDUFpORllCOUxNbGEycmtLSGgxJTJGMS5qcGc/YWx0PW1lZGlhJnRva2VuPTMxNzRhODQyLTQyZmQtNDE1NS04OTQ4LTFmMDdmOGJhMTBiNiIsInR5cGUiOiJpbWFnZSJ9XSwiZHVyYXRpb24iOjUsImV4cGFuZGVkIjp0cnVlLCIkJGhhc2hLZXkiOiJvYmplY3Q6NiJ9XQ==

JS控制台里面打印的错误是:

“访问图像在 'https://firebasestorage.googleapis.com/v0/b/yumejs-42402.appspot.com/o/imag...B9LMla2rkKHh1%2F1.jpg?alt=media&token=3174a842-42fd-4155-8948-1f07f8ba10b6' 来自“https://firebasestorage.googleapis.com”的来源已被阻止 通过 CORS 策略:不存在“Access-Control-Allow-Origin”标头 请求的资源。因此,原点 'https://xrd.github.io' 是 不允许访问。”

【问题讨论】:

    标签: google-cloud-storage google-cloud-platform


    【解决方案1】:

    问题是我在 cors.json 中使用 github.com,而引用图像的站点是 github.io。

    【讨论】:

      猜你喜欢
      • 2013-09-27
      • 2021-11-10
      • 2017-12-28
      • 2020-08-16
      • 2017-12-30
      • 1970-01-01
      • 2017-11-27
      • 2021-04-28
      • 2012-11-04
      相关资源
      最近更新 更多