Показать обновленные изображения в том же URL-адресе, используя Kingfisher ios - PullRequest
0 голосов
/ 09 сентября 2018

Я использую Kingfisher для загрузки просмотра изображений с изображений из Url. Иногда тот же URL будет обновляться с новым изображением. Поэтому я использую приведенный ниже код для загрузки изображения,

profileImage.kf.setImage(with: profileUrl, placeholder: #imageLiteral(resourceName: "profile_1"), options: [.fromMemoryCacheOrRefresh], progressBlock: nil, completionHandler: nil)

Но изображение не обновляется. Только старое изображение показывает. Почему это происходит? В документации Kingfisher указано, что «fromMemoryCacheOrRefresh можно использовать для отображения изменяемого изображения за тем же URL-адресом, избегая при этом загрузки его снова и снова» *

1 Ответ

0 голосов
/ 18 декабря 2018

Kingfisher не поддерживает механизм кэширования сервера. Он просто использует весь URL-адрес в качестве ключа локального кэша. Пока вы используете один и тот же URL, вы получите одно и то же изображение из кэша (если оно было кэшировано).

Итак, если ваш сервер предоставляет разные изображения по одному и тому же URL, мы предлагаем вам попросить сервер добавить запрос к URL для разных версий. Эти URL: «https://example.com/image.png?v=1"» и «https://example.com/image.png?v=2"» представляют разные изображения в Kingfisher, и это может хорошо работать. В то же время доступ к «https://example.com/image.png?v=2" приведет вас к данным« https://example.com/image.png" для большинства реализаций сервера.

Вы можете найти больше информации на этой странице:

https://github.com/onevcat/Kingfisher/wiki/FAQ#does-kingfisher-support-server-cache-tags-like-e-tag-or-last-modified

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