Soalan:
Bagaimana saya boleh menyimpan dan mendapatkan semula imej pada pelayan dalam aplikasi web Java tanpa menyimpannya dalam a pangkalan data?
Jawapan:
Lokasi optimum untuk storan imej bergantung pada konfigurasi pelayan.
Lokasi Storan Ideal:
Konfigurasikan laluan tetap di luar direktori aplikasi web, seperti /var/webapp/upload, sebagai hujah VM atau pembolehubah persekitaran. Laluan ini boleh diambil semula secara pemrograman. Contohnya, menggunakan -Dupload.location=/var/webapp/upload hujah VM:
Path folder = Paths.get(System.getProperty("upload.location"));
Contoh Kod Penyimpanan dan Retrieval:
Dengan mengandaikan kewujudan Fail yang dimuat naik mewakili imej:
Storan:
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
Pendapatan semula:
Tambahkan lokasi muat naik sebagai konteks berasingan kepada Tomcat:
<Context docBase="/var/webapp/upload" path="/uploads" />
Kini, imej boleh diakses terus melalui URL seperti:
http://example.com/uploads/foo-123456.ext
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan dan Mendapatkan Imej dalam Apl Web Java Tanpa Menggunakan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!