Heim >Datenbank >MySQL-Tutorial >Wie kann man Bilder in einer Java-Webanwendung effizient 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:
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!