首页 > 解决方案 > Flutter : getDownloadUrl (firebase 存储)

问题描述

我的颤振应用程序有问题。我想将图像上传到 Firebase 存储并获取 URL,但 getDownloadUrl 方法不起作用。这是我的代码:

import 'package:firebase_storage/firebase_storage.dart' as firebase_storage;

...

Future<String> addImage(File file, firebase_storage.Reference reference) async{
  firebase_storage.UploadTask task = reference.putFile(file);
  firebase_storage.TaskSnapshot snapshot = task.snapshot;
  String urlString = await snapshot.ref.getDownloadURL();
  return urlString;
}

我认为是因为新版本的 firebase_storage(5.2.0)

标签: firebaseflutterurlreferencefirebase-storage

解决方案


您必须等待 firebase 存储图像,然后才能使用 await 调用 getUrl。同样,查看此链接:https ://stackoverflow.com/a/52714376/5408464

   Future<String> addImage(File file, firebase_storage.Reference reference) async{
  final task = await reference.putFile(file);
  final urlString = await (await task.onComplete).ref.getDownloadURL().toString();
  return urlString;
}

推荐阅读