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

时间:2021-04-07 12:26:32

标签: firebase flutter firebase-storage

我正在尝试上传我使用 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 包:flutter/…/services/platform_channel.dart:156 #1 新的 MethodChannelTask​​。 (包:firebase_storage_platform_interface/src/method_channel/method_channel_task.dart) 颤振:MissingPluginException(否 在频道上找到方法 Reference#getDownloadURL 的实现 plugins.flutter.io/firebase_storage)

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

1 个答案:

答案 0 :(得分:2)

首先,您需要执行 flutter clean,然后触发 flutter pub get 命令并运行您的应用程序,您的问题将解决。

如果问题仍然存在,则执行 flutter clean 然后执行 restart your IDE,然后执行 flutter pub get 并运行您的应用程序。