angularjs, обновление изображения после изменения изображения на сервере. (Проблема кэширования)

Я написал директиву, которая позволяет пользователю загружать фотографии, а затем отображает их. затем пользователь может щелкнуть по одному из отображаемых изображений и обрезать его с помощью Jcrop. После того, как пользователь закончит обрезку изображения, информация отправляется на сервер, анализируется, затем изображение обрезается и возвращается в БД. это новое обрезанное изображение имеет ту же ссылку, что и раньше; исходное изображение перезаписывается. Все это делается на сервере spring. Мне нужно выяснить, как получить изображение обновить и отобразить новое обрезанное изображение. Основная проблема заключается в том, что изображение и запрос (я думаю) кэшируются. Я довольно новичок в angular и не знаю много о процессе фабрики кэширования.

1 ответов


вы можете добавить случайный аргумент в URL-адрес изображения - это предотвратит кэширование в большинстве браузеров. Эта техника называется кэш перебора. Вам придется изменять значение этого аргумента каждый раз, когда изображение изменяется, чтобы это работало.

обновление

сохранить метку времени в некоторой переменной и изменить его только тогда, когда изображение изменилось.

например. Это вызовет getTimeStamp() функция, которая будет генерировать текущую метку времени и действовать как кэш попойка.

<img data-ng-src='api/image/{{image.id}}?{{getTimeStamp()}}' data-ng-click='editImage($index);'/>