Flutter : getDownloadUrl (firebase 存储)
Flutter : getDownloadUrl (firebase storage)
我的 flutter 应用程序有问题。我想将图像上传到 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)
我们需要等待 UploadTask
完成,根据下面的源代码:
Future<String> addImage(File file, firebase_storage.Reference reference) async{
firebase_storage.UploadTask task = reference.putFile(file);
String urlString = await (await task.whenComplete).ref.getDownloadURL().toString();
await task.whenComplete(() async {
urlString = await task.ref.getDownloadURL();
}).catchError((onError) {
print(onError);
});
return urlString;
}
您必须等待 firebase 存储图像,然后才能使用 await 调用 getUrl。同样,查看此 link:
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;
}
我的 flutter 应用程序有问题。我想将图像上传到 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)
我们需要等待 UploadTask
完成,根据下面的源代码:
Future<String> addImage(File file, firebase_storage.Reference reference) async{
firebase_storage.UploadTask task = reference.putFile(file);
String urlString = await (await task.whenComplete).ref.getDownloadURL().toString();
await task.whenComplete(() async {
urlString = await task.ref.getDownloadURL();
}).catchError((onError) {
print(onError);
});
return urlString;
}
您必须等待 firebase 存储图像,然后才能使用 await 调用 getUrl。同样,查看此 link:
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;
}