Flatter firebase存储CORS问题
我正在使用firebase存储的免费计划。所有工作正常,但图像没有加载到我的颤振网络 我得到了这个错误Flatter firebase存储CORS问题,firebase,flutter-web,Firebase,Flutter Web,我正在使用firebase存储的免费计划。所有工作正常,但图像没有加载到我的颤振网络 我得到了这个错误 Access to XMLHttpRequest at 'https://firebasestorage.googleapis.com/v0/b/sap-app-8318e.appspot.com/o/cover%2Fimage_cropper_028D7F16-0161-4E90-B40D-EE47D310F322-5339-000003697F67306C.jpg?alt=media&am
Access to XMLHttpRequest at 'https://firebasestorage.googleapis.com/v0/b/sap-app-8318e.appspot.com/o/cover%2Fimage_cropper_028D7F16-0161-4E90-B40D-EE47D310F322-5339-000003697F67306C.jpg?alt=media&token=313475a9-9728-4e61-97da-f5d5534bb008' from origin 'https://sap.nextcardpro.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
firebasestorage.googleapis.com/v0/b/sap-app-8318e.appspot.com/o/cover%2Fimage_cropper_028D7F16-0161-4E90-B40D-EE47D310F322-5339-000003697F67306C.jpg?alt=media&token=313475a9-9728-4e61-97da-f5d5534bb008:1
我在谷歌上搜索,每个人都告诉我需要允许从firebase访问CORS,但我怎么才能添加它呢。但我如何才能将其添加到我的免费firebase计划中
[
{
"origin": ["*"],
"responseHeader": ["Content-Type"],
"method": ["GET", "HEAD", "DELETE"],
"maxAgeSeconds": 3600
}
]
最后,在谷歌搜索2天后,通过本文解决
最后,在谷歌搜索两天后,通过本文解决
从上面的链接中回答: 如果您已经熟悉谷歌云服务和工具,如gcloud和/或gsutil,您还可以查看谷歌关于CORS的文档 登录到您的谷歌云控制台:。点击右上角的“激活谷歌云外壳”(见下图): 窗口底部将显示一个shell终端,其中gcloud和gsutil已经可用。执行如下所示的命令。它创建一个json文件,该文件是为您的bucket设置cors配置所需的。此配置将允许每个域使用浏览器中的XHR请求访问您的bucket:
echo'[{“origin”:[“*”],“responseHeader”:[“Content Type”],“method”:[“GET”,“HEAD”],“maxagesonds”:3600}]>cors config.json
如果要限制对一个或多个特定域的访问,请将它们的URL添加到数组中,例如:echo'[{“origin”:[“https://yourdomain.com“],“responseHeader”:[“Content Type”],“method”:[“GET”,“HEAD”],“maxAgeSeconds”:3600}]”>cors config.json
在以下命令中将您的_BUCKET_NAME
替换为您的实际BUCKET NAME,以更新您的BUCKET中的cors设置gsutil cors set cors-config.json gs://您的_BUCKET_NAME
要检查是否一切正常,可以使用以下命令获取存储桶的cors设置:gsutil cors get gs://YOUR_bucket\u NAME
您可以在项目Firebase控制台的存储面板中找到bucket ID:
Firebase控制台的存储面板
它是以gs://
开头的值
从上面的链接中回答: 如果您已经熟悉谷歌云服务和工具,如gcloud和/或gsutil,您还可以查看谷歌关于CORS的文档 登录到您的谷歌云控制台:。点击右上角的“激活谷歌云外壳”(见下图): 窗口底部将显示一个shell终端,其中gcloud和gsutil已经可用。执行如下所示的命令。它创建一个json文件,该文件是为您的bucket设置cors配置所需的。此配置将允许每个域使用浏览器中的XHR请求访问您的bucket:
echo'[{“origin”:[“*”],“responseHeader”:[“Content Type”],“method”:[“GET”,“HEAD”],“maxagesonds”:3600}]>cors config.json
如果要限制对一个或多个特定域的访问,请将它们的URL添加到数组中,例如:echo'[{“origin”:[“https://yourdomain.com“],“responseHeader”:[“Content Type”],“method”:[“GET”,“HEAD”],“maxAgeSeconds”:3600}]”>cors config.json
在以下命令中将您的_BUCKET_NAME
替换为您的实际BUCKET NAME,以更新您的BUCKET中的cors设置gsutil cors set cors-config.json gs://您的_BUCKET_NAME
要检查是否一切正常,可以使用以下命令获取存储桶的cors设置:gsutil cors get gs://YOUR_bucket\u NAME
您可以在项目Firebase控制台的存储面板中找到bucket ID:
Firebase控制台的存储面板
它是以gs://
开头的值
好极了!你救了我的命。谢谢好极了!你救了我的命。谢谢