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

Zusammenfassung der MySQL InnoDB-Sperren

Inhaltsverzeichnis 1. Gemeinsam genutzte und exkl...

So ändern Sie MySQL, um Remoteverbindungen zuzulassen

In Bezug auf die MySQL-Remoteverbindung stoßen wi...

Eine kurze Diskussion über die Anpassung mobiler Endgeräte

Vorwort Beim Schreiben von Front-End-Code kommt m...

Eine gängige Technik zur Implementierung von Dreiecken mit CSS (mehrere Methoden)

In manchen Vorstellungsgesprächen werden häufig F...

So fügen Sie Konfigurationsoptionen zum Discuz!-Forum hinzu

Discuz! Forum verfügt über zahlreiche Konfiguratio...

JavaScript-Grundlagen für Schleife und Array

Inhaltsverzeichnis Schleife - für Grundlegende Ve...

SQL-basierte Abfrageanweisungen

Inhaltsverzeichnis 1. Einfache SELECT-Anweisung 1...

Implementierungsschritte für die Docker-Bereitstellung lnmp-wordpress

Inhaltsverzeichnis 1. Experimentelle Umgebung 2. ...

Detaillierte Erklärung der Angular-Komponentenprojektion

Inhaltsverzeichnis Überblick 1. Einfaches Beispie...

Dieser Artikel zeigt Ihnen, was Vite mit der Anfrage des Browsers macht

Inhaltsverzeichnis Funktionsprinzip: Was macht de...

Manjaro-Installation CUDA-Implementierungs-Tutorial-Analyse

Ende letzten Jahres habe ich im Dualsystem meines...