我正在开发一个Flutter的Web应用程序,当我在调试模式(本地主机)上运行它时,它就像一个超级按钮,我的Firestore请求也有效,并且存储网址也一样,但是当我将其部署到Firebase Hosting时,我可以无法使用存储中的网址加载图片。这就是我得到的:
访问地址为 'https://firebasestorage.googleapis.com/v0/b/url-to-my-picture/?token=firestorage-key' 来源“ https://my-project.web.app”已被CORS阻止 策略:“访问控制允许来源”标头不存在 要求的资源。如果不透明的响应满足您的需求,请设置 请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。
我进行了搜索,然后发现需要在firebase.json文件上设置托管,这是我在托管部分所做的:
"hosting": {
"public": "build/web",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"headers": [
{
"source": "**",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
}
]
}
]
},
但是没有成功。请注意,我仅使用Flutter Web和Firebase本身。没有NodeJ,没有php。
编辑: 这是我加载图片的方式:
...
NetworkImage(
pic.url,
),
...