Upload File pada Spring MVC

sms gateway java

Spring MVC adalah framework untuk teknologi web yang ada di lingkungan Java. Alasan yang membuat saya senang dengan web framework ini karena menerapkan pattern MVC (Model View Controller) dan juga kemudahannya untuk diintegrasikan dengan framework ataupun library lain, contohnya Spring MVC+Apache Tiles, Spring MVC+Jasper Report, Spring MVC+Velocity, Spring MVC+Jackson dan masih banyak yang lainnya. Intinya Spring MVC ini hebat :D. Patut dicoba bagi yang belum pernah mencobanya.

Dan integrasi yang akan saya bagi pada tulisan ini adalah integrasi Spring MVC dengan Apache Commons FileUpload, yaitu sebuah library untuk meng-upload file. Nantinya akan saya tunjukkan bagaimana cara meng-upload file baik ke direktori dari komputer lokal maupun ke direktori yang berada di server. Tak ketinggalan juga bagaimana menangani kesalahan-kesalahan yang mungkin terjadi seperti file terlalu besar dan meng-upload file kosong.

Library yang dibutuhkan adalah sebagai berikut :
1. Spring Web MVC (Saya menggunakan Netbeans IDE sehingga library ini sudah disediakan oleh Netbeans)
2. Apache Commons FileUpload
3. Apache Commons IO

Silahkan masukkan library-library tersebut kedalam classpath.

Kalau bermain dengan Spring pasti tidak lepas dengan file konfigurasi berupa XML.
Nah untuk itu kita buat file konfigurasi untuk mengatur Spring MVC itu sendiri dan juga integrasinya dengan Apache Comons FileUpload.

file : dispatcher-servlet.xml

Pada bagian yang saya highlight itulah yang merupakan konfigurasi untuk melakukan upload file. Terdapat satu property yang digunakan untuk membatasi ukuran maksimal file yaitu 20 MB.
Untuk bagian yang lain dalam file konfigurasi diatas tidak saya jelaskan karena fokus kita adalah meng-upload file. Selain itu, saya anggap kalian sudah lumayan akrab dengan Spring MVC 😀

Selanjutnya adalah membuat Controller untuk menangani request dan response

file : FileUploadController.java

Seperti saya kemukakan tadi diatas,pertama kita akan belajar meng-upload pada direktori komputer lokal.
Dalam hal ini kita akan menaruh file pada C:/upload.
Tak ketinggalan, method resolveException digunakan untuk menangani kesalahan, lebih tepatnya 2 kesalahan yang terjadi yakni jika file melebihi batas maksimal (20 MB) dan juga ketika upload dilakukan namun tidak ada file yang dipilih.

Form upload kita bikin pakai JSP sadja yang murah dan mudah. Murah maksudnya tidak perlu pakai library dari luar, hanya kata karangan saya sadja hahaa 😀

file : formUpload.jsp

Form konfirmasi upload berhasil juga menggunakan JSP

Sippp…
Sudah siap untuk dijalankan (y)
Silahkan jalankan di browser

Tampilan awal aplikasi
from upload

Tampilan error ketika tidak ada file yang dipilih namun tetap melakukan upload
no file

Tampilan error ketika file yang diupload melebihi batas maksimal
too large

Tampilan konfirmasi file berhasil diupload
success

File hasil upload pada direktori lokal komputer
local directory

Tentu masih ada yang kurang
apa itu?
ada yang tahu?
iyak betul, bagaimana cara kita melakukan uploada pada direktori aplikasi yang berada pada server 😀
simpel
cukup ubah method saveFile menjadi seperti dibawah ini

File akan diletakkan pada folder upload yang berada dibawah folder WEB-INF

Selamat Berkarya dan Belajar 🙂

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

One thought on “Upload File pada Spring MVC

Leave a Reply

Your email address will not be published. Required fields are marked *