我正在尝试通过XMLHttpRequest从Firebase存储下载文件,但资源上没有设置Access-Control-Allow-Origin,因此无法实现.有没有办法在存储服务器上设置此标头?
(let [xhr (js/XMLHttpRequest.)]
(.open xhr "GET" url)
(aset xhr "responseType" "arraybuffer")
(aset xhr "onload" #(js/console.log "bin" (.-response xhr)))
(.send xhr)))
Run Code Online (Sandbox Code Playgroud)
Chrome错误消息:
XMLHttpRequest无法加载 https://firebasestorage.googleapis.com/[EDITED] 请求的资源上没有"Access-Control-Allow-Origin"标头.原产地" 的http://本地主机:3449 "因此不允许访问.
我尝试了两种技术来尝试在我的firebase storage bucket上启用CORS,但到目前为止它们都没有奏效。我收到此错误...从源“服务器”访问“位置”的图像已被 CORS 策略阻止:请求的资源上不存在“访问控制-允许-源”标头。
首先,我尝试按照此示例使用gsutil。终端说它为我的数据设置了“在 gs://"my-app's-name".appspot.com/... 上设置 CORS,但是我仍然在前端遇到错误。
接下来,我按照这个示例尝试在我的 Angular 5 应用程序中使用Firebase Cloud Functions。我无法找到一种方法来全局设置它,即使使用图像,我仍然在前端遇到相同的错误。
我现在花了一段时间尝试启用 CORS,看起来它应该相当简单,但我对云功能相对较新。我更喜欢 gsutil 方法。我会继续解决这个问题,如果我找到它会发布一个解决方案。
谢谢,任何帮助表示赞赏。
cors google-cloud-storage firebase gsutil google-cloud-functions