我相信我已经完成了所有操作,为存储在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控制台)
JS控制台内打印的错误是:
“访问图像 'https://firebasestorage.googleapis.com/v0/b/yumejs-42402.appspot.com/o/imag ... B9LMla2rkKHh1%2F1.jpg ALT =媒体&安培;标记= 3174a842-42fd-4155-8948-1f07f8ba10b6' 来自“https://firebasestorage.googleapis.com”的来源已被屏蔽 按CORS政策:没有'Access-Control-Allow-Origin'标题 请求的资源。因此,“https://xrd.github.io”来源 不允许访问。“
答案 0 :(得分:0)
问题是我在cors.json中使用github.com,引用图像的网站是github.io。