Как получить URL-адрес изображения из хранилища Firebase? - PullRequest
0 голосов
/ 07 августа 2020

Эта функция сохраняет в FireStore: `Instance of 'Future', а не url. Без метода toString выдается ошибка «будущее динамическое c не может быть присвоено строке».

 onPressed: () {
              final StorageReference ref = FirebaseStorage.instance
                  .ref()
                  .child('images')
                  .child('image4.jpg');
              ref.putFile(image);
              final String downloadUrl = ref.getDownloadURL().toString();
              Firestore.instance.collection('images').add({"url": downloadUrl});
            })

1 Ответ

0 голосов
/ 07 августа 2020

ref.getDownloadURL() - это будущее, поэтому вам нужно await это

onPressed: () async {
    final StorageReference ref = FirebaseStorage.instance
        .ref()
        .child('images')
        .child('image4.jpg');
    StorageUploadTask uploadTask = ref.putFile(image);
    String downloadUrl = await (await uploadTask.onComplete).ref.getDownloadURL();
    Firestore.instance.collection('images').add({"url": downloadUrl});
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...