Heim >Datenbank >MySQL-Tutorial >Wie kann man Bilder in einer Java-Webanwendung effizient speichern und abrufen?

Wie kann man Bilder in einer Java-Webanwendung effizient speichern und abrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-01 16:18:11647Durchsuche

How to Efficiently Store and Retrieve Images in a Java Web Application?

Bilder in einer Java-Webanwendung speichern und abrufen

Ein Bild auf dem Server speichern

Um ein Bild zu speichern Geben Sie auf dem Server einen festen Pfad außerhalb des Tomcat-Webapps-Ordners an. Wenn Sie beispielsweise einen Ordner mit dem Namen „upload“ unter „/var/webapp/“ erstellen, können Sie ihn als VM-Argument (-Dupload.location=/var/webapp/upload) oder Umgebungsvariable festlegen.

Verwenden Sie diesen Pfad, um den Upload-Vorgang wie folgt abzuschließ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();
// Store it in DB

Abrufen eines Bildes aus dem Server

Der ideale Weg, ein Bild abzurufen, besteht darin, den Upload-Speicherort als separaten Kontext zu Tomcat hinzuzufügen:

<Context docBase="/var/webapp/upload" path="/uploads" />

Dies ermöglicht den direkten Zugriff auf das Bild über eine URL wie z als http://example.com/uploads/foo-123456.ext.

Wenn die Serverkonfigurationskontrolle eingeschränkt ist, sollten Sie erwägen, das Bild in der Datenbank zu speichern oder zu verwenden ein Drittanbieter-Host wie Amazon S3.

Zusätzliche Ressourcen:

  • [File.getAbsolutePath() vs. File.getPath()](https://stackoverflow.com/questions/3693101/java-file-getabsolutepath-vs-getpath)
  • [Zuverlässige Datenbereitstellung](https://tomcat.apache.org /tomcat-8.5-doc/config/context.html#Reliable_data_serving)

Das obige ist der detaillierte Inhalt vonWie kann man Bilder in einer Java-Webanwendung effizient speichern und abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn