Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyimpan dan Mendapatkan Imej dalam Apl Web Java Tanpa Menggunakan Pangkalan Data?

Bagaimana untuk Menyimpan dan Mendapatkan Imej dalam Apl Web Java Tanpa Menggunakan Pangkalan Data?

Linda Hamilton
Linda Hamiltonasal
2024-11-18 21:40:021042semak imbas

How to Store and Retrieve Images in a Java Web App Without Using a Database?

Menyimpan dan Mendapatkan Imej dalam Java Webapp

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn