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

Linda Hamilton
Lepaskan: 2024-11-18 21:40:02
asal
971 orang telah melayarinya

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"));
Salin selepas log masuk

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
Salin selepas log masuk

Pendapatan semula:

Tambahkan lokasi muat naik sebagai konteks berasingan kepada Tomcat:

<Context docBase="/var/webapp/upload" path="/uploads" />
Salin selepas log masuk

Kini, imej boleh diakses terus melalui URL seperti:

http://example.com/uploads/foo-123456.ext
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan