Флаттер кэшированного изображения, возможно ли перезагрузить изображение вместо получения кэшированного изображения? - PullRequest
0 голосов
/ 17 февраля 2020

Я использую пакет flutter_cached_network_image для загрузки изображений из firebase. Когда пользователь обновляет свое изображение профиля (имя файла остается тем же), загружаемое изображение остается таким же, как и перед обновлением, потому что оно загружено из кэша (потому что у него все еще тот же URL, что и раньше). Можно ли очистить изображение из кэша, чтобы загрузить новое изображение?

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Как сказал @EderBaum, вы можете принудительно ввести дополнительный ввод строки запроса, значение зависит от желаемого эффекта, например:

1 - Никогда не кэшировать http:urlofresource.com/yourimage.jpg?version= {NewRandonNumberGenerated}

Для этого можно использовать класс Random.

2- Перезагрузить кэш на основе версии приложения

То же, что и раньше, но теперь вы используете информацию о версии, которую вы можете поместить в ваше глобальное состояние или куда-то еще, чтобы получить информацию после обновления

3 - Использовать обычный кэш

Просто оставьте виджет выполнять свою работу.

1 голос
/ 17 февраля 2020

По-видимому, на данный момент нет решения. Смотрите здесь: https://github.com/Baseflow/flutter_cached_network_image/issues/77

Я использую версию изображения в адресе, чтобы обойти это. Что-то вроде: https://example.com/image.jpg?version=14

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...