firebase - 如何使用 flutter 从 firebase 获取下载 URL?

标签 firebase flutter dart firebase-storage

我想检索 firbase 存储中私有(private)图像的下载 URL。

您好,我已经尝试了网站上的许多建议,但所有的结果都是一样的。

我试过下面的代码:

getImageNow() async {
    StorageReference ref =
    FirebaseStorage.instance.ref().child("/1.jpg");
    String url = (await ref.getDownloadURL()).toString();
    return url;
  }

当我在函数中打印 url 时它起作用,但是当我尝试调用 print(getImageNow()) 时要获取网址,我只需要 "Instance of 'Future<dynamic>'"

更新***************

最后我想得到这样的东西:

return Image.network(
  getImageNow(),
);

但我无法让它与异步一起工作。

最佳答案

由于 getImageNow() 是异步的(如 async 关键字所示),您需要使用 await 来生成调用代码等待结果:

print(await getImageNow())

await 在这里所做的是,它本质上是对 Future 展开包装,相当于:

getImageNow().then((value) => print(value));

关于firebase - 如何使用 flutter 从 firebase 获取下载 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56648620/

相关文章:

ios - 推特登录异常 flutter

firebase - 如何按类别显示产品 flutter Firestore

asynchronous - 如何在 flutter 应用程序中显示 5 分钟不可停止的计时器?

angular - 如何显示所有其他用户的列表,其中包含来自 firebase 的详细信息(不包括当前登录的用户)?

firebase - 是否有可能有一个利用 firebase 的 chrome 打包应用程序?

java - 如何将多个图像上传到firebase数据库并检索

flutter - 使Draggable在取消时不返回

android - 或者运算符(operator) '||' 在 firebase 规则中不起作用

使用 Flutter 和 FCM 终止应用程序时,Android 设备未收到通知消息

dart - 点击 "under"SpriteWidget 层