我试图从firebase firestore获取图像,而试图获取图像下载网址有这个异常:
带存储实用程序(10206):请求没有身份验证令牌
- (与此错误类似的问题不能解决问题)*
虽然我的安全规则允许读取和写入,我仍然得到这个错误。
你知道这有什么问题吗?
用于获取图像URL的代码:
static Future<dynamic> loadImage(BuildContext context, String image) async {
return await FirebaseStorage.instance.ref().child(image).getDownloadURL();
}
调用此loadImage函数:
Future<Widget> getImage(BuildContext context, String imgName) async {
Image image;
await FireStorageService.loadImage(context, imgName).then((value) {
print(value);
image = Image.network(value.toString(), fit: BoxFit.scaleDown);
return image;
});
}
调用此getImage函数:
child: FutureBuilder(
future: getImage(context, "/images/test1.jpg"),
...
)
我的firebase存储规则:
rules_version = '2';
service firebase.storage {
match /images/{imageId} {
allow read,write;
}
}
存储规则ss:
我的firebase商店目前:
5条答案
按热度按时间noj0wjuj1#
并发布完成
nvbavucw2#
我改变了规则。
转到Firebase项目〉存储〉规则。
默认情况下,不允许您在Firebase上上传,所以您必须更改这一点。
将
allow read, write: if false;
更改为allow read, write;
jjhzyzn03#
转到项目设置-〉应用检查-〉产品将存储从强制更改为非强制x1c 0d1x
nwlls2ji4#
通过改变firebase中的规则,这对我很有效。
o3imoua45#
**(2022):**最近,我解决了以下Firestore基本安全规则(针对认证用户):
你可以在他们的网站上看到这个:https://firebase.google.com/docs/rules/basics?authuser=1#cloud-storage_1
我不建议使用允许读、写;如果你的应用程序有一个身份验证,那么你需要检查auth是否为空。