我在 Firebase 对象存储中有一个名为“pecs”的文件夹,它包含一个文件:
但是,对其引用调用 listAll 将返回一个空列表:
FirebaseStorage storage = FirebaseStorage.instance;
Reference ref = storage.ref().child("pecs");
ListResult list = await ref.listAll();
setState(() {
_items = list.items;
});
上面代码中的_items最终变为空。我已在 main 中启用 Firebase:
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
还可能缺少什么?
这可能会有所帮助。
在您发布的图片中,检查选项卡栏上的“规则”选项卡
它看起来像这样
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: false;
}
}
}
更新为
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: true;
}
}
}
此更新将允许您的 flutter 项目访问 firestorage 中的图像。