angularjs, обновление изображения после изменения изображения на сервере. (Проблема кэширования)
Я написал директиву, которая позволяет пользователю загружать фотографии, а затем отображает их. затем пользователь может щелкнуть по одному из отображаемых изображений и обрезать его с помощью Jcrop. После того, как пользователь закончит обрезку изображения, информация отправляется на сервер, анализируется, затем изображение обрезается и возвращается в БД. это новое обрезанное изображение имеет ту же ссылку, что и раньше; исходное изображение перезаписывается. Все это делается на сервере spring. Мне нужно выяснить, как получить изображение обновить и отобразить новое обрезанное изображение. Основная проблема заключается в том, что изображение и запрос (я думаю) кэшируются. Я довольно новичок в angular и не знаю много о процессе фабрики кэширования.
1 ответов
вы можете добавить случайный аргумент в URL-адрес изображения - это предотвратит кэширование в большинстве браузеров. Эта техника называется кэш перебора. Вам придется изменять значение этого аргумента каждый раз, когда изображение изменяется, чтобы это работало.
обновление
сохранить метку времени в некоторой переменной и изменить его только тогда, когда изображение изменилось.
например. Это вызовет getTimeStamp()
функция, которая будет генерировать текущую метку времени и действовать как кэш попойка.
<img data-ng-src='api/image/{{image.id}}?{{getTimeStamp()}}' data-ng-click='editImage($index);'/>