Es ist in Ordnung, das Bild mit der von mir erstellten Web-App hochzuladen, aber ich habe das Problem, dass das hochgeladene Bild nicht auf dem Bildschirm aktualisiert wird. Deshalb schreibe ich es selbst auf. Es scheint, dass die Ursache darin besteht, dass der Cache fehlerhaft ist und das Image vor dem Update so gelesen wird, wie es ist.
Aus der Schlussfolgerung heraus konnte ich es lösen, indem ich? (Ein Wert) zu "<img src = ~" des auf der JSP-Seite angezeigten Bildes hinzufügte und den Browser es als ein anderes Bild erkennen ließ. ..
test.jsp
//Vorher ändern
<img src="static/img/test.jpg " alt="test.jpg ">
//Nach der veränderung
<img src="static/img/test.jpg?(Beliebiger dynamischer Parameter)" alt="test.jpg ">
Wenn die URL des Bildes genau gleich ist und nichts geändert wird, beurteilt der Browser ** "Cache verwenden" **, sodass das Update anscheinend nicht wiedergegeben wurde.
Da es sich um einen willkürlichen eindeutigen Parameter handelt, ist alles in Ordnung, aber da es eine große Sache ist, werde ich versuchen, den Wert automatisch zu erhalten und ihn anzugeben. Holen Sie sich das hochgeladene Datum und die Uhrzeit mit lastModified und geben Sie es an.
Controller.java
//Wählen Sie die Zieldatei aus
File file = new File("static/img/test.jpg ");
//Holen Sie sich das Datum und die Uhrzeit der letzten Änderung der Datei und stellen Sie sie in jsp zur Verfügung
model.addAttribute("file", file.lastModified());
test.jsp
<img src="/static/img/test.jpg?${file}" alt="test.jpg ">
Wenn Sie nun die Datei aktualisieren, wird die aktualisierte geladen.
Recommended Posts