Не удается загрузить изображение из FirebaseStorageImage в Flutter - PullRequest
0 голосов
/ 03 марта 2020

Я новичок во Flutter и пытаюсь загрузить образ хранилища Firebase в приложении для флаттера. Но сборка терпит неудачу за исключением. Я попробовал следующий способ загрузить изображение в ListTile. Как я могу это исправить?

ListTile(
        title: Text(record.date),
        leading: CircleAvatar(
          backgroundImage: FirebaseStorageImage(
              'gs://project-12345.appspot.com/path/to/avatar_image.png'),
        ),
),

Вот исключение, которое я получаю.

Compiler message:
/D:/sdks/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_storage_image-0.4.0/lib/firebase_storage_image.dart:54:24: Error: The method 'FirebaseStorageImage.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'.
  ImageStreamCompleter load(FirebaseStorageImage key) =>
                       ^
/D:/sdks/flutter/packages/flutter/lib/src/painting/image_provider.dart:403:24: Context: This is the overridden method ('load').
  ImageStreamCompleter load(T key, DecoderCallback decode);
                       ^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.

FAILURE: Build failed with an exception.

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Если у вас уже есть изображение, хранящееся в хранилище Firebase, вы можете отобразить его в приложении для создания флаттера, используя сгенерированный Firebase маркер доступа для вашего изображения.

try

backgroundImage: NetworkImage(access_token_for_your_image),

Если вы Если вы не создали токен доступа, вы можете сделать это, перейдя в папку с вашим изображением в хранилище Firebase и щелкнув «Создать новый маркер доступа» в разделе «Расположение файла». Вы также можете создать его при загрузке изображения из приложения, используя функцию getDownloadURL() в своей загрузке.

0 голосов
/ 03 марта 2020

Рекомендовать так:

StorageReference sr = FirebaseStorage.instance.ref();
String url = await sr.child('path').getDownloadURL();
Image.network(url);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...