Lösen Sie das Problem, dass Bilder und andere Ressourcen nach der erneuten Bereitstellung von Tomcat automatisch gelöscht werden

Lösen Sie das Problem, dass Bilder und andere Ressourcen nach der erneuten Bereitstellung von Tomcat automatisch gelöscht werden

Gestern, als ich die Funktion zum Hochladen von Bildern und Zurückgeben von Links implementiert habe. Als das Projekt erneut auf Tomcat bereitgestellt wurde, wurden einige zuvor hochgeladene Bilder und andere Ressourcen automatisch gelöscht.

Der Grund hierfür ist, dass ich das Bild im Zielverzeichnis gespeichert habe, denn nur wenn ich es dort abgelegt habe, kann ich problemlos über den Weblink auf das Bild zugreifen.
Beispielsweise wird nach dem Hochladen dieser Pfad zurückgegeben: http://localhost:8080/upload/images/timg.jpg

Wenn das Projekt jedoch erneut bereitgestellt wird, wird das Ziel neu erstellt und die Ressourcen im Ziel werden gelöscht.
(Ziel wird zum Speichern von Dateien und Verzeichnissen, JAR-Paketen, War-Paketen und kompilierten Klassendateien verwendet, nachdem das Projekt erstellt wurde.)

Schließlich fiel mir eine Möglichkeit ein, dasselbe Image in zwei Pfaden zu speichern, ein Pfad befindet sich unter dem Ziel und der andere Pfad unter dem von mir entwickelten Projekt. Auf diese Weise überschreiben die Dateien in meinem eigenen Projekt die Zieldateien, wenn ich sie erneut bereitstelle, und werden erneut in das Ziel geladen.

Unten ist mein Implementierungscode

//Zum Pfad im lokalen IDEA-Projekt String localDirString = "E:/zideapro/onlineschool/src/main/webapp/upload/images";
//Auf dem Tomcat-Server bereitgestellter Projektpfad String root_String = request.getSession().getServletContext().getRealPath("/upload/images");

Datei localDirPath = neue Datei(localDirString);
Datei-Root_Path = neue Datei (Root_String);
//Wenn das Verzeichnis in der lokalen IDEA nicht existiert, müssen Sie es erstellen, if (!localDirPath.exists()) {
  localDirPath.mkdirs();
}
//Erstelle ein Verzeichnis im Tomcat-Server, falls es nicht existiert if (!root_Path.exists()) {
  root_Path.mkdirs();
}
//Lokaler DateipfadFile localFilePath = new File(localDirPath + File.separator + attach.getOriginalFilename());//Dateiverzeichnis + Dateiname//Der Pfad der Datei auf dem ServerFile root_FilePath = new File(root_Path + File.separator + attach.getOriginalFilename());//Projektbereitstellungsverzeichnis + Dateiname//Das Image lokal speichernattach.transferTo(localFilePath);
//Eine Datei vom lokalen Pfad auf den Tomcat-Server kopieren //Vermeiden Sie den Verlust von Image-Ressourcen während der erneuten Bereitstellung Files.copy(localFilePath.toPath(), root_FilePath.toPath());

System.out.println("editormd lädt das Bild in den lokalen Speicherpfad hoch: " + localFilePath);
System.out.println("editormd lädt das Image in den Bereitstellungsprojektpfad hoch: " + root_FilePath);

Ausgabebereich:
Der Pfad, in den editormd Bilder hochlädt, um sie lokal zu speichern, lautet: E:\zideapro\onlineschool\src\main\webapp\upload\images\timg2.jpg
Der Pfad, in den editormd das Bild in das Bereitstellungsprojekt hochlädt: E:\zideapro\onlineschool\target\ssm\upload\images\timg2.jpg

Auf diese Weise werden die Bildressourcen auf zwei Pfade hochgeladen. Wenn das Projekt erneut bereitgestellt wird, überschreiben die lokalen Dateien die verlorenen Dateien, sodass Ressourcen wie Bilder nicht verloren gehen.

Dies ist das Ende dieses Artikels zur Lösung des Problems, dass Bilder und andere Ressourcen nach der Neubereitstellung von Tomcat automatisch gelöscht werden. Weitere Informationen zur Neubereitstellung von Tomcat und zum automatischen Löschen von Ressourcen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So packen Sie ein Maven-Projekt in ein War-Paket und stellen es auf Tomcat bereit
  • So stellen Sie ein JavaWeb-Projekt auf einem Tomcat-Server in IDEA bereit
  • Lösung für das Problem des 404-Fehlers, wenn das Vue-Projekt-Webpack verpackt, in Tomcat bereitgestellt und aktualisiert wird
  • Wenn das Webprojekt in ein War-Paket gepackt und Tomcat bereitgestellt wird, wird die Datei startup.bat ausgeführt und die Bereitstellung schlägt direkt fehl. Eine schnelle Lösung
  • So stellen Sie ein Spring-Boot-Projekt in einem Tomcat-Container bereit
  • jsp - Lösen Sie das Problem der automatischen Dateilöschung beim Neustart von Tomcat nach dem Hochladen von Dateien

<<:  Mehrere Möglichkeiten zum Senden von HTML-Formularen_PowerNode Java Academy

>>:  Vue implementiert WebSocket-Kundendienst-Chatfunktion

Artikel empfehlen

So beheben Sie den MySQL-FEHLER 1045 (28000) - Zugriff wegen Benutzer verweigert

Problembeschreibung (die folgende Diskussion besc...

Vue implementiert eine kleine Countdown-Funktion

In vielen Projekten muss eine Countdown-Funktion ...

Über visuelles Design und Interaktionsdesign

<br />Im gesamten Produktdesignprozess liege...

So übergeben Sie Parameter über CSS an JS

1. Hintergrund, der durch CSS übergeben werden mu...

Lokale MySQL-Installation und Problemlösung

Vorwort Dieser Artikel ist ziemlich ausführlich u...

Webdesign-Referenz Firefox-Standardstil

Obwohl das W3C einige Standards für HTML festgeleg...

Zusammenfassung der Anwendungspraxis für Docker-Container des Node.js-Dienstes

In diesem Artikel wird die Verwendung und Install...

Analyse von MySQL-Lock-Wait- und Deadlock-Problemen

Inhaltsverzeichnis Vorwort: 1. Verstehen Sie Lock...

Beispieloperation MySQL Kurzlink

So richten Sie einen MySQL-Kurzlink ein 1. Überpr...

So fügen Sie einem Benutzer in einer Linux-Umgebung Sudo-Berechtigungen hinzu

sudo-Konfigurationsdatei Die Standardkonfiguratio...

Detaillierte Erläuterung des Grafikbeispiels für Vue-Überwachungsattribute

Inhaltsverzeichnis Was ist die Listener-Eigenscha...

So fügen Sie Batchdaten unter Node.js in eine MySQL-Datenbank ein

Im Projekt (nodejs) müssen mehrere Daten gleichze...