首页 > 解决方案 > Flutter 无法将文件上传到 Firebase 存储

问题描述

我只是尝试使用Firebase CloudFirestore/Storage上传图片。这是我的方法:

Future<void> uploadFile() async {
    File file = File(croppedImagePath);

    try {
      int randomNumber = Random().nextInt(10000);
      String imageLocation = 'images/image$randomNumber.jpg';

      await FirebaseStorage.instance.ref(imageLocation).putFile(file); // <- crash
      _addPathToDatabse(imageLocation);
    } on FirebaseException catch (e) {
      // e.g, e.code == 'canceled'
      print(e.message);
    }
  }

但这会崩溃:

发生异常。MissingPluginException(MissingPluginException(在通道 plugins.flutter.io/firebase_storage 上找不到方法 Task#startPutFile 的实现))

这是我添加的pubspec.yaml

  firebase_core: ^1.3.0
  cloud_firestore: ^2.3.0
  firebase_storage: ^9.0.0

我尝试运行flutter clean并多次重新启动项目......我在这里错过了什么?为什么它不起作用?

标签: firebaseflutterdartgoogle-cloud-firestorefirebase-storage

解决方案


我建议您检查文件是否正确,您也可以尝试将文件转换为字节。


推荐阅读