я хочу отслеживать ход выполнения задачи загрузки и отправлять значение прогресса на следующую страницу во флаттере - PullRequest
0 голосов
/ 19 апреля 2020

Я написал код для загрузки изображения в FireStore, теперь я хочу отслеживать ход выполнения задач и передавать это значение на следующую страницу во флаттере. Любая помощь будет очень признательна, спасибо. Я прикрепил функцию, которая отвечает за загрузку изображений в Firestore.

  Future<void> upload(image) async {
    List<String> _imageUrls = List();
    try {
      for (int i = 0; i < image.length; i++) {
        StorageReference ref = FirebaseStorage()
            .ref()
            .child("virtualtour")
            .child("file${DateTime.now().millisecondsSinceEpoch.toString()}");
        StorageUploadTask uploadtask = ref.putFile(image[i]);
        final StreamSubscription<StorageTaskEvent> streamSubscription =
            uploadtask.events.listen((event) {
          print('EVENT ${event.type}');


        });
        await uploadtask.onComplete;
        streamSubscription.cancel();
        String imageUrl = await ref.getDownloadURL();
        _imageUrls.add(imageUrl + ".jpg");
      }
      FirebaseUser user = await FirebaseAuth.instance.currentUser();
      await firestore
          .collection("virtualtour")
          .document(user.uid)
          .collection(widget.tour)
          .document()
          .collection(widget.panaroma)
          .document()
          .setData({
        "Images": _imageUrls,
      });
    } catch (e) {
      print(e);
    }
  }
...