gs://<your-cloud-storage-bucket> has no CORS configuration

PR7*_*PR7 3 cors firebase firebase-storage

I am trying to download file from my firebase storage on button click event but it is giving me 'Access-Control-Allow-Origin' error.

https://firebase.google.com/docs/storage/web/download-files

根据上面的链接,我正在尝试配置 CORS。我安装了 gsutil 命令行工具。但我无法找到需要复制此代码的 cors.json 文件

[
 {
 "origin": ["*"],
 "method": ["GET"],
 "maxAgeSeconds": 3600
 }
]
Run Code Online (Sandbox Code Playgroud)

然后我使用gsutil cors get gs://<your-cloud-storage-bucket>返回的命令gsutil cors get gs://<your-cloud-storage-bucket>/ has no CORS configuration

我是否需要先为我的存储桶创建 CORS 配置文件?

下面是我的按钮单击方法,以防错误出现在代码中。

downloadAttachment(fileName) {
var uid = AuthService.uid;
let storageRef = firebase.storage().ref().child('assignments/' + uid + '/' + fileName);
storageRef.getDownloadURL().then(url => {
  console.log(url);
  var xhr = new XMLHttpRequest();
  xhr.responseType = 'blob';
  xhr.onload = function (event) {
    var blob = xhr.response;
  };
  xhr.open('GET', url);
  xhr.send();
});
}
Run Code Online (Sandbox Code Playgroud)

错误 :

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://localhost:4200 ”。

谢谢。

sid*_*ker 6

是的,创建一个名为任何你想要的文件\xe2\x80\x94cors.json如果你想要的话就调用它\xe2\x80\x94并将你喜欢的CORS配置设置放入其中,然后gsutil像这样运行它:

\n
gsutil cors set cors.json gs://<your-cloud-storage-bucket>/\n
Run Code Online (Sandbox Code Playgroud)\n

这会将这些 CORS 配置设置上传到您的存储桶。之后,您可以随时使用 检索当前设置gsutil cors get gs://<your-cloud-storage-bucket>

\n