Отображать изображение в облачном хранилище Firebase как сетевое изображение во Flutter

У меня есть изображение в облачном хранилище Firebase, которое я хочу отобразить в своем приложении флаттера с помощью виджета Image.network. Я могу получить правильный URL-адрес загрузки из ссылки на stroage, но он не загружается как сетевой образ. Я получаю эту ошибку:

Restarted application in 599ms.
══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
The following ImageCodecException was thrown resolving an image codec:
Failed to load network image.
Image URL:
https://firebasestorage.googleapis.com/v0/b/campus-connect-324ef.appspot.com/o/bg1.jpg?alt=media&token=3d593a5d-4842-497e-8a10-09330b226562
Trying to load an image from another domain? Find answers at:
https://flutter.dev/docs/development/platform-integration/web-images
When the exception was thrown, this was the stack
Image provider:
  NetworkImage("https://firebasestorage.googleapis.com/v0/b/campus-connect-324ef.appspot.com/o/bg1.jpg?alt=media&token=3d593a5d-4842-497e-8a10-09330b226562",
  scale: 1)
Image key:
  NetworkImage("https://firebasestorage.googleapis.com/v0/b/campus-connect-324ef.appspot.com/o/bg1.jpg?alt=media&token=3d593a5d-4842-497e-8a10-09330b226562",
  scale: 1)

заранее спасибо

Я пытался использовать cached_network_image, но это тоже не сработало.

getBG() работает нормально. Исключение в виджете Panorama.

void getBG(String name) async {
    final response = await storage.child(name).getDownloadURL();
    setState(() {
      bg = response;
    });
  }

.
.
.

body: Panorama(
        key: UniqueKey(),
        hotspots: hotspots,
        child: Image.network(bg),
      ),

добавьте фрагмент кода в свой пост, где возникает это исключение.

Vivek Chib 18.05.2023 08:57

Изначально bg имеет значение null, и вы не можете передать нулевой параметр в Image.network(); Попробуйте использовать FutureBuilder или примените нулевую проверку к Image.network();

Irfan Akram 18.05.2023 09:17

Ошибка сохраняется, даже когда я загружаю URL-адрес firebase непосредственно в image.network

Chinmay Annadate 18.05.2023 09:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я попытался показать изображение, используя URL-адрес из вашей трассировки стека ("https://firebasestorage.googleapis.com/v0/b/campus-connect-324ef.appspot.com/o/bg1.jpg?alt=media&token=3d593a5d-4842- 497e-8a10-09330b226562") с использованием виджета Image.network() и NetworkImage и работает нормально, но не проверял в браузере, поэтому, если вы проверяете в браузере, попробуйте это решение https://github.com/flutter/flutter/issues/ 73109#issuecomment-814143539

Если вы проверяете ios и android, попробуйте переустановить приложение или перезапустить его, как предложено в приведенной выше ссылке.

Другие вопросы по теме

Модули внутри облачных функций firebase с python: ModuleNotFoundError: нет модуля с именем «src»
Для таргетинга на S+ (версия 31 и выше) требуется, чтобы один из FLAG_IMMUTABLE или FLAG_MUTABLE для FireBaseMessaging
Целесообразно ли хранить мои ключи API в Firebase Remote Config?
Flutter Web, заблокированный политикой CORS, влияет только на настольные браузеры, но не на мобильные браузеры
Нет именованного параметра с именем dataRowMaxHeight. - firebase_ui_firestore - флаттер
Фатальное исключение: java.lang.NullPointerException — попытка вызвать виртуальный метод 'boolean java.lang.String.equals(java.lang.Object)' для нулевого объекта
Проблема после обновления Flutter Firebase? Семантическая проблема ARC (Xcode): нет известного метода класса для селектора «appleCredentialWithIDToken:rawNonce:fullName:»
Определение действующих лиц на диаграмме вариантов использования для мобильного приложения
Невозможно использовать действие сборки GoogleServicesJson в .NET 7.0
Остановить Nextjs 13 от кеширования результата/вызова Firebase