【发布时间】:2019-02-15 07:32:18
【问题描述】:
我将一些 mp3 文件上传到我在 Firebase 中的Storage。
我正在使用 axios 来获取存储在 Storage 中的相关文件。
在“规则”选项卡中,我将权限更改为:
allow read, write, request;
但是,当我启动我的网站时,我仍然收到错误:
Access to XMLHttpRequest at
'gs://******.appspot.com/****/****' from origin 'http://localhost:3000'
has been blocked by CORS policy: Cross origin requests are only
supported for protocol schemes: http, data, chrome, chrome-extension,
https.
这是我的代码:
constructor(props) {
super(props);
this.state = {
allRecords: [],
}
componentDidMount () {
axios.get('gs://******.appspot.com/****/****')
.then(response => {
this.setState({allRecords: response.data})
console.log(response.data)
})
.catch(error => alert("An error has occurred, please try again and check your internet connection."))
}
我做错了吗?我完全确定 get 方法的地址没问题(我只是从 Firebase 复制的)。
编辑:
我运行命令
gsutil cors set cors.json gs://****.appspot.com :
然而,当我加载我的网站时,我得到了同样的错误。
【问题讨论】:
-
因为它是一个获取请求,你可以在普通浏览器中点击 api 吗?就像复制网址并粘贴到浏览器中并尝试点击它。检查您收到的任何回复。 api 是否还需要任何标头或一些参数来识别这是一个有效的用户
标签: javascript reactjs firebase axios