So speichern und rufen Sie Bilder auf einem Java-Webserver ab: Eine Lösung
In diesem Artikel befassen wir uns mit einer häufigen Herausforderung in Webanwendungen: Wie man Bilder effektiv auf einem Java-Webserver speichert und abruft. Wir bieten eine umfassende Lösung, die die in der ursprünglichen Frage geäußerten Bedenken berücksichtigt.
Verstehen der Abfrage
Die Frage lautet: Wo sollten Bilder gespeichert werden, um dies zu ermöglichen? effizientes Abrufen und Anzeigen in einer XHTML-Datei auf einem Server, ohne die Datenbank als Speichermethode zu verwenden?
Das Empfohlene Lösung
Die ideale Lösung hängt vom Grad der Kontrolle über die Serverkonfiguration ab. Wenn möglich, wird empfohlen, einen festen Pfad außerhalb des Tomcat-Webapps-Ordners zu konfigurieren, z. B. /var/webapp/upload. Dieser Pfad kann als VM-Argument oder Umgebungsvariable festgelegt werden, um einen programmgesteuerten Abruf ohne Codeänderung sicherzustellen.
Implementierung der Lösung
Zum Beispiel bei Verwendung des VM-Arguments - Dupload.location=/var/webapp/upload, Sie können den Upload wie folgt abschließen:
Path folder = Paths.get(System.getProperty("upload.location")); String filename = FilenameUtils.getBaseName(uploadedFile.getName()); String extension = FilenameUtils.getExtension(uploadedFile.getName()); Path file = Files.createTempFile(folder, filename + "-"", "." + extension); try (InputStream input = uploadedFile.getInputStream()) { Files.copy(input, file, StandardCopyOption.REPLACE_EXISTING); } String uploadedFileName = file.getFileName().toString(); // Now store it in the DB.
Um die Datei bereitzustellen, Ideal ist es, den Upload-Speicherort als separaten Kontext zu Tomcat hinzuzufügen. Zum Beispiel:
<Context docBase="/var/webapp/upload" path="/uploads" />
Dieses Setup ermöglicht den direkten Zugriff auf die Datei über URLs wie http://example.com/uploads/foo-123456.ext.
Alternative Optionen
Wenn die Serverkonfiguration begrenzt ist, sollten Sie erwägen, die Datenbank zur Speicherung zu verwenden oder einen Drittanbieter-Host wie Amazon zu nutzen S3.
Zusätzliche Ressourcen
Fazit
Implementierung Die empfohlene Lösung bietet einen robusten Ansatz zum Speichern und Abrufen von Bildern auf einem Java-Webserver und ermöglicht so eine effiziente Dateiverwaltung und Anzeige in der Anwendung Schnittstellen.
Das obige ist der detaillierte Inhalt vonWie kann man Bilder effizient auf einem Java-Webserver speichern und abrufen, ohne eine Datenbank zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!