【发布时间】:2021-03-06 01:55:15
【问题描述】:
我一直在尝试在 firebase 存储中获取我的图像的下载 URL,以便我可以将其添加到列表中每个项目的列表视图构建器“NetworkCatched Images”中,正如您从下面的代码中看到的那样,我首先在我的有状态类的开头声明了一个名为“URL”的变量,因此我可以通过使其等于我从 Firebase 存储获得的下载 URL 来更改该值,但似乎我正在使用的异步函数甚至没有运行,因为我确保它在完成后打印出下载的 URL 的值,但我在调试控制台中什么也没看到,这里哪里出错了?
我不断收到此错误No object exists at the desired reference.
顺便说一句,我的代码中的"thesnapshot.data()['image']" 等于图像文件的名称,例如books.jpg,它是文件的确切名称,它位于一个名为category 的文件夹中,如下所示,将非常感谢对此的一些启发,谢谢
class Home extends State<HomeScreen> {
var url;
ListView.builder(shrinkWrap: true, padding: EdgeInsets.all(0), physics: NeverScrollableScrollPhysics(), itemCount: snapshot.data.documents.length, itemBuilder: (BuildContext context, int index)
{
DocumentSnapshot thesnapshot = snapshot.data.docs[index];
current_category = thesnapshot.data()['category'];
printUrl() async {
Reference ref = FirebaseStorage.instance.ref().child("category/" + thesnapshot.data()['image'].toString());
var togo = (await ref.getDownloadURL()).toString();
setState(() {
url = togo;
print(url);
});
}
printUrl();
【问题讨论】:
标签: android firebase flutter dart google-cloud-firestore