Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter - > UploadTask method OnComplete does not exists

I see a lot of exercises that put onComplete but with my code this is the error

The getter 'onComplete' isn't defined for the type 'UploadTask'. Try importing the library that defines 'onComplete', correcting the name to the name of an existing getter, or defining a getter or field named 'onComplete'

WHY ??

void uploadImage() async {
    if (safeNeuralNetwork()) {
      //Subir imagen a firebase storage
      final Reference postImageRef =
          FirebaseStorage.instance.ref().child("Post Images");
      var timeKey = DateTime.now();
    
      print(sampleImage);
      UploadTask uploadTask =
          postImageRef.child(timeKey.toString() + ".jpg").putFile(sampleImage);
      var imageUrl =
          await (await uploadTask.onComplete).ref.getDownloadURL();
      url = imageUrl.toString();
      print(url);
      // Guardar el post en la bbdd
      saveToDatabase(url);
      //Regresar en Home
      Navigator.pop(context);
    }
  }
like image 436
Joan Codinach Ortiz Avatar asked Nov 17 '20 17:11

Joan Codinach Ortiz


1 Answers

I think you don't need onComplete anymore, and can just await the Future that's returned from putFile.

For the latest code samples, always check the FlutterFire documentation, for example: uploading a file.

like image 70
Frank van Puffelen Avatar answered Oct 04 '22 15:10

Frank van Puffelen