[Java] Le problème selon lequel les images téléchargées ne sont pas mises à jour en raison de l'influence du cache

Aperçu

Vous pouvez télécharger l'image avec l'application Web que je crée, mais je suis coincé avec le problème que l'image téléchargée n'est pas mise à jour à l'écran, alors je l'écrirai moi-même. Il semble que la cause en soit que le cache est défectueux et que l'image avant la mise à jour est lue telle quelle.

Solution

Dès la conclusion, j'ai pu le résoudre en ajoutant? (Une valeur) à "<img src = ~" de l'image affichée sur le côté jsp et en laissant le navigateur le reconnaître comme une image différente. ..

test.jsp


//Changer avant
<img src="static/img/test.jpg " alt="test.jpg ">
//Après le changement
<img src="static/img/test.jpg?(Tout paramètre dynamique)" alt="test.jpg ">

Si l'URL de l'image est exactement la même et que rien n'est changé, le navigateur jugera ** "Utiliser le cache" **, donc il semble que la mise à jour n'a pas été reflétée.

Attribuer des paramètres avec lastModified

Comme il s'agit d'un paramètre unique arbitraire, tout va bien, mais comme c'est un gros problème, je vais essayer d'obtenir la valeur automatiquement et de la donner. Obtenez la date et l'heure téléchargées avec lastModified et indiquez-les.

Controller.java


//Sélectionnez le fichier cible
File file = new File("static/img/test.jpg ");
//Obtenez la date et l'heure de la dernière modification du fichier et rendez-le disponible dans jsp
model.addAttribute("file", file.lastModified());

test.jsp


<img src="/static/img/test.jpg?${file}" alt="test.jpg ">

Désormais, lorsque vous mettez à jour le fichier, le fichier mis à jour sera chargé.

référence

Recommended Posts

[Java] Le problème selon lequel les images téléchargées ne sont pas mises à jour en raison de l'influence du cache
[Java] [Java EE] [Glassfish] (suite) Style qui met en doute le cache de Glassfish
Comment résoudre le problème qu'Aptana Studio ne démarre pas
Comment résoudre le problème de non-sortie du journal de connexion lorsque l'application Web est arrêtée
Le problème que le contenu des paramètres est complètement affiché dans la vue [Rails]
Résolution du problème de gel dû à une soudaine "erreur EXT4-fs" sur Ubuntu 20.04
J'ai essayé de traduire la grammaire de R et Java [Mis à jour de temps en temps]
Sortie du livre "Introduction à Java"
10 barrages de dessin avec ● ou ■ qui sont susceptibles d'apparaître dans la formation (Java)
[Mis à jour de temps à autre] Liens endettés
La date et l'heure de java8 ont été mises à jour
[Java] Que faire si le contenu enregistré dans la base de données et le nom de l’énumération sont différents dans l’énumération qui reflète la définition de la base de données
[Java] Essayez de résoudre le problème de Fizz Buzz
Java Bienvenue dans le marais des tableaux bidimensionnels
[Introduction à Java] Liste des choses qui ont été capturées par le 14e jour de programmation
[Java] Traitement de la situation où le programme qui écrit dans le flux de sortie du processus ne se termine pas même si waitFor
Fonctionnalités susceptibles d'entrer dans Java 10 pour le moment
Cas souvent oubliés en raison d'un dépassement d'entier
Comment écrire Scala du point de vue de Java
Initialisation de for Essayez de changer le problème Java en TypeScript 5-4
[Java] Comment obtenir la valeur maximale de HashMap
Modifier la qualité de stockage des images JPEG en Java
Un résumé concis des API de date / heure Java 8 susceptibles d'être utilisées fréquemment
Mémo qui passe à l'écran de connexion si vous n'êtes pas connecté avec l'appareil