Ada*_*ani 2 cors firebase firebase-storage
当我在html文件上进行get调用时,我在firebase存储上遇到了正常的cors错误:
Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
Run Code Online (Sandbox Code Playgroud)
我正在使用axios进行通话:
axios.get('https://firebasestorage.googleapis.com/v0/b/xxxxx-xxxxx.appspot.com/o/files%2Fsigning%2F148%2F459.html?alt=media&token=f3be2ef2-a598-4c30-a77b-8077e8b1f7bc',
{
headers: {'Access-Control-Allow-Origin': '*',}
)
Run Code Online (Sandbox Code Playgroud)
我将访问权限设置为public:
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我加载图像时,同样的设置工作正常,但它给了我存储的html文件的错误.有关如何解决它的任何想法?
Ada*_*ani 11
Firebase使用与谷歌云相同的存储基础架构,即使没有用于设置cors规则的firebase方法,也可以使用gc设置.首先,您需要安装google cloud sdk:
curl https://sdk.cloud.google.com | bash
Run Code Online (Sandbox Code Playgroud)
重启你的shell:
exec -l $SHELL
Run Code Online (Sandbox Code Playgroud)
初始化gcloud.这将要求您选择您的帐户并进行身份验证.
gcloud init
Run Code Online (Sandbox Code Playgroud)
然后使用以下内容创建一个json文件
[
{
"origin": ["http://example.appspot.com"],
"responseHeader": ["Content-Type"],
"method": ["GET", "HEAD", "DELETE"],
"maxAgeSeconds": 3600
}
]
Run Code Online (Sandbox Code Playgroud)
并使用您的firebase存储gc:端点运行此命令
gsutil cors set yourFile.json gs://yourProject
Run Code Online (Sandbox Code Playgroud)
这也应该为你解决问题.
| 归档时间: |
|
| 查看次数: |
1994 次 |
| 最近记录: |