Flutter + Firebase - 上传图片文件到存储

3

我正在尝试上传一个使用图片选择器(imagepicker)获取的图片文件。

updatePhoto(user, File imageFile) async {
  FirebaseStorage storage = FirebaseStorage.instance;
  Reference ref = storage.ref().child('user/profile/${user.uid}');
  UploadTask uploadTask = ref.putFile(imageFile);
  String url;
  uploadTask.whenComplete(() async {
    url = await ref.getDownloadURL();
  }).catchError((onError) {
    print(onError);
  });
  return url;
}

但是上面的代码返回以下错误:

VERBOSE-2:ui_dart_state.cc(186)] 未处理异常: MissingPluginException(在通道plugins.flutter.io/firebase_storage上找不到Task#startPutFile方法的实现) #0 MethodChannel._invokeMethod package:flutter/…/services/platform_channel.dart:156 #1 new MethodChannelTask. (package:firebase_storage_platform_interface/src/method_channel/method_channel_task.dart) flutter: MissingPluginException(在通道plugins.flutter.io/firebase_storage上找不到Reference#getDownloadURL方法的实现)

如果有人能帮忙解释如何解决这个错误,我将不胜感激。谢谢。


1
先执行 flutter clean,然后重新启动 IDE,接着执行 pub getrun - Shubham Narkhede
2
非常感谢,这为我解决了问题。我花了相当多的时间来尝试找出可能出了什么问题。非常感谢。请将此作为答案发布,以便我可以接受它并让其他用户受益。 - Saad Bashir
1个回答

5

首先,您需要执行flutter clean,然后运行flutter pub get命令并运行您的应用程序,这样您的问题就会得到解决。

如果问题仍然存在,请执行flutter clean,然后重新启动您的IDE,之后执行flutter pub get并运行您的应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接