未定义 class 'StorageTaskSnapshot'。尝试将名称更改为现有 class 的名称或使用名称 'StorageTaskSnapshot' 创建 class

Undefined class 'StorageTaskSnapshot'. Try changing the name to the name of an existing class or creating a class with the name 'StorageTaskSnapshot'

我想上传一张照片到 firebase。当我尝试使用 StorageTaskSnapshot 时,它会在 StorageTaskSnapshot 下划线说 Undefined class 'StorageTaskSnapshot'.

这是我的代码:

Future<String> uploadPhoto(img) async {
    UploadTask task =
        FirebaseStorage.instance.ref().child("Posts Pictures").child("post_$postId.jpg").putFile(img);
    StorageTaskSnapshot storageTaskSnapshot =await task.onComplete;
    String downloadUrl = await storageTaskSnapshot.ref.getDownloadURL();
    return downloadUrl;
  }

任何人都请帮助我。

尝试以下操作:

Reference ref = FirebaseStorage.instance.ref();
TaskSnapshot uploadFile = await child("Posts Pictures").child("post_$postId.jpg").putFile(img);
  if (uploadFile.state == TaskState.success) {
            final String downloadUrl = await snapshot.ref.getDownloadURL();
         }

首先获取对 firebase 存储实例的引用,然后使用 putFile() 您可以将文件上传到同样 returns 和 TaskSnapshot 的存储。之后,如果上传文件的状态为成功,则获取下载的 url.