Firebase 存储等待 uploadTask.onComplete 已过时

Posted

技术标签:

【中文标题】Firebase 存储等待 uploadTask.onComplete 已过时【英文标题】:Firebase Storage await uploadTask.onComplete outdated 【发布时间】:2021-03-04 19:52:19 【问题描述】:

我正在使用此代码。 错误消息如下: 错误:没有为“UploadTask”类型定义吸气剂“onComplete”。 (undefined_getter at [chatneu] lib/Screens/HomeScreen.dart:289)

  Future uploadFile() async 
    try 
      pr = new ProgressDialog(context);

      await ImagePicker().getImage(
          source: ImageSource.gallery).then((image) 
        setState(() 
          _image = image as File;
          //klammern weg bei ImagePicker und .getImage zu Pickimage
        );
      );
      await pr.show();

      Reference storageReference = FirebaseStorage.instance.ref().child(
          '$loggedInUser.uid/UserProfille/$Path.basename(_image.path)');
      UploadTask uploadTask = storageReference.putFile(_image);
      await uploadTask.onComplete;
      print('File Uploaded');
      storageReference.getDownloadURL().then((fileURL) 
        setState(() 
          FirebaseFirestore.instance.collection('Users').doc(loggedInUser.uid);
          Map<String, String> data = 
            'photoUrl': fileURL,
          ;

【问题讨论】:

【参考方案1】:

我不确定您从哪里得知 UploadTask 上有一个名为 onComplete 的方法。如果你按照documentation中的示例代码,你会看到你只是直接等待UploadTask:

await storageReference.putFile(_image);
storageReference.getDownloadURL().then(...);

您可能还想查看handling tasks 上的文档。

【讨论】:

刚刚通过遵循明显过时的 Flutter 上传 Firebase 图像的教程遇到了问题。仅供参考,之前有一个名为 StorageUploadTask 的类具有 onComplete 方法。

以上是关于Firebase 存储等待 uploadTask.onComplete 已过时的主要内容,如果未能解决你的问题,请参考以下文章