Bagaimana untuk Menyimpan dan Mengambil Imej dengan Cekap pada Pelayan Web Java Tanpa Menggunakan Pangkalan Data?

Patricia Arquette
Lepaskan: 2024-11-17 17:05:02
asal
414 orang telah melayarinya

How to Efficiently Store and Retrieve Images on a Java Web Server Without Using a Database?

Cara Menyimpan dan Mendapatkan Imej pada Pelayan Web Java: Penyelesaian

Dalam artikel ini, kami akan menangani cabaran biasa dalam aplikasi web: cara menyimpan dan mendapatkan semula imej pada pelayan web Java dengan berkesan. Kami akan menyediakan penyelesaian komprehensif yang menangani kebimbangan yang dibangkitkan dalam soalan asal.

Memahami Pertanyaan

Soalan bertanya: di manakah imej harus disimpan untuk membolehkan mendapatkan semula dan paparan yang cekap dalam fail XHTML pada pelayan, tanpa menggunakan pangkalan data sebagai kaedah storan?

Penyelesaian Disyorkan

Penyelesaian yang ideal bergantung pada tahap kawalan ke atas konfigurasi pelayan. Jika boleh, adalah disyorkan untuk mengkonfigurasi laluan tetap di luar folder webapps Tomcat, seperti /var/webapp/upload. Laluan ini boleh ditetapkan sebagai argumen VM atau pembolehubah persekitaran untuk memastikan perolehan semula program tanpa pengubahsuaian kod.

Melaksanakan Penyelesaian

Sebagai contoh, apabila menggunakan hujah VM - Dupload.location=/var/webapp/upload, anda boleh melengkapkan muat naik seperti berikut:

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();
// Now store it in the DB.
Salin selepas log masuk

Untuk menyiarkan fail, menambah lokasi muat naik sebagai Konteks berasingan kepada Tomcat adalah sesuai. Contohnya:

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

Persediaan ini membenarkan akses terus ke fail melalui URL seperti http://example.com/uploads/foo-123456.ext.

Pilihan Alternatif

Jika konfigurasi pelayan terhad, pertimbangkan untuk menggunakan pangkalan data untuk penyimpanan atau memanfaatkan hos pihak ketiga seperti Amazon S3.

Sumber Tambahan

  • [Bagaimana untuk menyediakan laluan relatif dalam kelas Fail untuk memuat naik sebarang fail?](https://stackoverflow.com/questions/3344856/how-to-provide-relative-path-in-file-class-to -muat naik-mana-mana-fail)
  • [Penyajian data yang boleh dipercayai](https://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Reliable_Data_Serving)

Kesimpulan

Melaksanakan penyelesaian yang disyorkan menyediakan pendekatan yang mantap untuk menyimpan dan mendapatkan semula imej pada pelayan web Java, membolehkan pengurusan fail dan paparan yang cekap dalam antara muka aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan dan Mengambil Imej dengan Cekap pada Pelayan 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