\\
“Pak gimana cara upload file, ada gak fungsi khusus untuk upload file di java?“,
itu pertanyaan salah satu mahasiswa saat pertemuan dikelas. Sebetulnya
di java memang tidak menyediakan fungsi yang dikhususkan untuk upload
file seperti di php. Tapi bukan berarti java tidak bisa upload file.
Upload file dengan servlet sebelum versi 3 tidak bisa dilakukan secara
langsung, tapi pada servlet 3 hal ini sudah memungkinkan. Sayangnya saat
ini belum semua web container yang bisa menjalankan servlet 3.
Nah untuk servlet versi 2 kebawah ada cara lain untuk upload, yaitu dengan memanfaatkan library fileupload dari Apache Commons. Library ini paling umum digunakan oleh para pengembang aplikasi java, karena penggunaannya sederhana dan mudah. Untuk bisa menggunakan cara ini, anda harus tambahkan dua buah library ke project anda yaitu commons-fileupload dan commons-io. Dua file tersebut dapat anda download secara gratis dari http://commons.apache.org. Saya sarankan download versi terbaru.
OK langsung saja kita ke TKP.
Pertama tentu kita harus buat formnya di file index.jsp. Enctype harus “multipart/form-data”, kalau tidak maka file nya tidak bisa ditangkap oleh servlet.
Setelah itu buat sebuah servlet dengan nama terserah anda tapi yang
harus diperhatikan adalah url paternnya harus sesuai dengan action pada
form tadi. Dalam hal ini saya gunakan url patern=”upload”.
Ok, setelah jadi silahkan compile dan langsung jalankan. Jika tidak ada error, seharusnya tampilannya akan seperti ini
Bagi yang ingin download source codenya silahkan klik
Nah untuk servlet versi 2 kebawah ada cara lain untuk upload, yaitu dengan memanfaatkan library fileupload dari Apache Commons. Library ini paling umum digunakan oleh para pengembang aplikasi java, karena penggunaannya sederhana dan mudah. Untuk bisa menggunakan cara ini, anda harus tambahkan dua buah library ke project anda yaitu commons-fileupload dan commons-io. Dua file tersebut dapat anda download secara gratis dari http://commons.apache.org. Saya sarankan download versi terbaru.
OK langsung saja kita ke TKP.
Pertama tentu kita harus buat formnya di file index.jsp. Enctype harus “multipart/form-data”, kalau tidak maka file nya tidak bisa ditangkap oleh servlet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <html> <head> <title>Upload File</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body><center><h1>Demo Upload File Dengan Servlet</h1> <form action="upload" enctype="multipart/form-data" method="post"> <table width="300"> <tr><td width="100">File</td><td width="10">:</td><td><input type="file" name="inputfile" /></td> </tr> <tr><td></td><td></td><td><input type="submit" value="Upload" /></td> </tr> </table> </form> </center></body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | package servlet; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; /** * * @author ahza */ public class UploadServlet extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List items = upload.parseRequest(request); Iterator iter = items.iterator(); FileItem item=null; if(iter.hasNext()){ item = (FileItem) iter.next(); File file = new File(getServletContext().getRealPath("upload")+"\\"+item.getName()); item.write(file); out.println("<center>"); out.println("<img src=\"upload/"+file.getName()+" \" /><br>"); String base = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); out.println("Lokasi file di server: "+base+"/upload/"+item.getName()+"<br>"); out.println("Lokasi file di disk: "+getServletContext().getRealPath("upload")+"\\"+item.getName()); out.println("</center>"); } } catch (FileUploadException ex) { out.println("Error: "+ex.getMessage()); } catch(Exception e){} } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold> } |
Bagi yang ingin download source codenya silahkan klik


Bagaimana Dengan Artikel ini....Silahkan Berkomentar Jika ada Pertanyaan Dan Masukan ^_^