首页 > 解决方案 > firebase 存储 ERORR

问题描述

我不知道是什么问题,但问题出在StorageTaskSnapsotonComplete
错误说The getter 'onComplete' is not defined for the type 'StorageUploadTask'

FirebaseStorage storage = FirebaseStorage.instance;

  uploadPic() async {
    //String fileName = path.basename(_image1.path);
    StorageReference reference =
        storage.ref().child("image1" + DateTime.now().toString());
    StorageUploadTask uploadTask = reference.putFile(_image1);
    StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;
    String url = await taskSnapshot.ref.getDownloadURL();
    imageUrl1 = url;
    return url;
  }

标签: flutterdartgoogle-cloud-firestore

解决方案


这将起作用:

  FirebaseStorage storage = FirebaseStorage.instance;

  uploadPic() async {
    //String fileName = path.basename(_image1.path);
    Reference reference = storage.ref().child("image1" + DateTime.now().toString());
    String url = await reference.putFile(_image1).then((_) => reference.getDownloadURL());
    return url;
  }

这也是:

   FirebaseStorage storage = FirebaseStorage.instance;
  uploadPic() async {
    //String fileName = path.basename(_image1.path);
    Reference reference = storage.ref().child("image1" + DateTime.now().toString());
    try {
      await reference.putFile(_image1);
    } on FirebaseException catch (e) {
      print(e);
    }
    return reference.getDownloadURL();
  }

推荐阅读