我正在尝试在Flutter应用程序(test.jpg)中显示存储在FireBase中的图像。到目前为止,这是我的代码:
StorageReference ref = FirebaseStorage.instance.ref().child("/test.jpg");
String url = (await ref.getDownloadURL()).toString();
print(url);
return url;
}
将正确的URL打印到控制台,但是如果我尝试通过以下方式显示URL:
Text(_imgUrl)
然后我收到以下错误:
类型'Future'不是类型'String'的子类型
有人可以帮助我了解问题所在以及如何解决该问题吗?请让我知道我是否应该包含其他任何代码或信息。
谢谢!
答案 0 :(得分:0)
方法getDownloadURL()
返回一个Future<dynamic>
。更改您的url
变量类型dynamic
。
答案 1 :(得分:0)
您可能直接用_imgUrl
设置了ref.getDownloadURL()
,而没有使用await
关键字。
如果您使用var url = ref.getDownloadURL()
设置变量,则会得到一个Future<Url>
但是如果您使用var url = await ref.getDownloadURL()
设置变量,则会得到Url