Frage:
Wie kann ich ein Bild in einer Java-Webanwendung speichern und abrufen? Server in einer Java-Webanwendung, ohne ihn in einem zu speichern Datenbank?
Antwort:
Der optimale Ort für die Bildspeicherung hängt von der Serverkonfiguration ab.
Idealer Speicherort:
Konfigurieren Sie einen festen Pfad außerhalb des Verzeichnisses der Webanwendung, z. B. /var/webapp/upload, als VM-Argument oder Umgebungsvariable. Dieser Pfad kann programmgesteuert abgerufen werden. Verwenden Sie beispielsweise das VM-Argument -Dupload.location=/var/webapp/upload:
Path folder = Paths.get(System.getProperty("upload.location"));
Beispielspeicher- und -abrufcode:
Angenommen, die Existenz von eine hochgeladene Datei, die die darstellt Bild:
Speicherung:
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(); // Save uploadedFileName in database
Abruf:
Fügen Sie den Upload-Speicherort als separaten Kontext zu Tomcat hinzu:
<Context docBase="/var/webapp/upload" path="/uploads" />
Jetzt kann das Bild direkt über eine URL aufgerufen werden wie:
http://example.com/uploads/foo-123456.ext
Das obige ist der detaillierte Inhalt vonWie speichere und rufe ich Bilder in einer Java-Web-App ab, ohne eine Datenbank zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!