Servlet dapat digunakan dengan tag formulir HTML untuk memungkinkan pengguna mengunggah file ke server. File yang diunggah bisa berupa file teks atau file gambar atau dokumen apa pun.
Membuat Formulir Unggah File
Kode HTM berikut di bawah ini membuat formulir pengunggah. Berikut adalah poin-poin penting yang harus diperhatikan -
Formulir method atribut harus disetel ke POST metode dan metode GET tidak dapat digunakan
Formulir enctype atribut harus disetel ke multipart/form-data.
Formulir actionatribut harus disetel ke file servlet yang akan menangani pengunggahan file di server backend. Contoh berikut menggunakanUploadServlet servlet untuk mengunggah file.
Untuk mengupload satu file, Anda harus menggunakan satu tag <input ... /> dengan atribut type = "file". Untuk mengizinkan beberapa file diunggah, sertakan lebih dari satu tag masukan dengan nilai berbeda untuk atribut nama. Browser mengaitkan tombol Jelajah dengan masing-masingnya.
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action = "UploadServlet" method = "post" enctype = "multipart/form-data">
<input type = "file" name = "file" size = "50" />
<br />
<input type = "submit" value = "Upload File" />
</form>
</body>
</html>
Ini akan menampilkan hasil berikut yang akan memungkinkan untuk memilih file dari PC lokal dan ketika pengguna mengklik "Unggah File", formulir akan dikirimkan bersama dengan file yang dipilih -
File Upload:
Select a file to upload:
NOTE: This is just dummy form and would not work.
Menulis Backend Servlet
Berikut ini adalah servlet tersebut UploadServletyang akan menangani penerimaan file yang diunggah dan menyimpannya dalam direktori <Tomcat-installation-directory> / webapps / data. Nama direktori ini juga dapat ditambahkan menggunakan konfigurasi eksternal seperticontext-param elemen di web.xml sebagai berikut -
<web-app>
....
<context-param>
<description>Location to store uploaded file</description>
<param-name>file-upload</param-name>
<param-value>
c:\apache-tomcat-5.5.29\webapps\data\
</param-value>
</context-param>
....
</web-app>
Berikut ini adalah kode sumber untuk UploadServlet yang dapat menangani pengunggahan beberapa file sekaligus. Sebelum melanjutkan, Anda harus memastikan hal-hal berikut -
Sekarang coba unggah file menggunakan formulir HTML yang Anda buat di atas. Ketika Anda mencoba http: // localhost: 8080 / UploadFile.htm, itu akan menampilkan hasil berikut yang akan membantu Anda mengunggah file apa pun dari mesin lokal Anda.
File Upload:
Select a file to upload:
Jika skrip servlet Anda berfungsi dengan baik, file Anda harus diupload di direktori c: \ apache-tomcat8.0.28 \ webapps \ data \.