..MySkyline~*~

.. sepertinya aku berpikir tentang segala hal sedikit lebih banyak dalam ruang ini, tidak bisa terlelap dalam malam .. hanya mengeluh ketika melihat ke langit .. ingin pergi menuju bulan bahkan sampai lebih jauh .. ingin menggunakan sayap dan terbang .. tapi apa yang harus kulakukan ..?? ..I want to fly well to skyline..
~*~ tentang segala hal pengetahuan dan anganku yang di luar keadaan ~*~
..MySkyline~*~

Dalam suatu sistem aplikasi berbasis web tidak lengkap tanpa adanya fungsi untuk mengupload file. Seperti halnya untuk mengupload file lampiran, foto, hasil scan, file exe. dan berbagai jenis file lainnya dimana dibutuhkan bagi pengguna untuk kepentingan share dan dokumentasi.


Pada yahoo klasik atau upload foto pada blogspot ini, dapat kita temukan fungsi untuk mengupload file attachment atau gambar. Namun pada Yahoo klasik metode upload yang digunakan masih menggunakan file upload yang konvensional / sederhana. Berbeda dengan Yahoo mail beta atau pada facebook dimana menggunakan metode yang lebih canggih dalam hal mengupload gambar.


Mungkin pada sisi back-end kode yang dipakai tetap sama dengan metode konvensional namun perbedaan pada sisi kode tampilan. pada tampilan menggunakan teknologi javascript - AJAX.

Untuk implementasi fungsi back-end file upload, bermacam-macam cara yang tersedia, seperti menggunakan library common.fileUpload bawaan apache tomcat maupun library lain atau hanya dengan file input outstream (java.io). Berikut contoh sederhana menggunakan java.io.

Ada dua file yang perlu disediakan. pertama, file html yang merupakan halaman untuk memilih file yang akan diupload.

upload.html


<form action="upload.jsp" method="POST" enctype="multipart/form-data">
<!-- enctype="multipart/form-data" -->
<input type="file" name="theFile"><br>

<input type="submit">
</form>


upload.jsp


<!-- upload.jsp -->
<%@ page import="java.io.*" %>

<%
String contentType = request.getContentType();
System.out.println("Content type is :: " +contentType);
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();

byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while (totalBytesRead < formDataLength) {
byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
totalBytesRead += byteRead;
}

String file = new String(dataBytes);
String saveFile = file.substring(file.indexOf("filename=\"") + 10);
//out.print("FileName:" + saveFile.toString());
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
//out.print("FileName:" + saveFile.toString());
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
//out.print("FileName:" + saveFile.toString());

//out.print(dataBytes);

int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1,contentType.length());
//out.println(boundary);
int pos;
pos = file.indexOf("filename=\"");

pos = file.indexOf("\n", pos) + 1;

pos = file.indexOf("\n", pos) + 1;

pos = file.indexOf("\n", pos) + 1;


int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0, pos)).getBytes()).length;
int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
saveFile = "/Users/ansis/Documents/NetBeansProjects/statis/build/web/doc/" + saveFile;

FileOutputStream fileOut = new FileOutputStream(saveFile);


//fileOut.write(dataBytes);
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();

out.println("File saved as " +saveFile);
}
%>

Berikut screenshot tampilan upload.html :


tampilan upload.jsp :


Sekian sedikit penjelasan cara membuat file upload menggunakan JSP secara sederhana. Pada posting selanjutnya aka dijelaskan implementasi file upload pada extjs.

ada 6 komentar :

Anonim , mengatakan... Juli 18, 2010 6:07 AM  

kalo upload gambar itu disatuin sama data anggota misalnya nama, alamat dll, untuk get parameternya kaya gimana? mohon bantuanya!!

Mas/mbak anonim, untuk contoh di atas adalah contoh sederhana mengupload file hanya dengan menggunakan java.io.*

Jadi terdapat keterbatasan dimana upload tidak bisa dibarengi dengan input text. Form memiliki tipe enctype="multipart/form-data".

Ada dua cara yang dapat digunakan, yaitu :

1. Menggunakan library common fileupload Apache Jakarta.

2. Membedakan antara form uplado dengan form data anggota / input text.

Tapi yang sangat disarankan adalah menggunakan cara pertama (1)

jadi gmn contoh input data text dan file JSP ke database dengan JSP?help me......tolong kirimkan email saya,,,,help me.....
terimakasih, saya sudah cari" tp blm dpt mudah"n anda mau bantu saya.Terimakasih ones again

Wah ini berguna banget ini, kebetulan banget sekarang lg belajar JSP :)

waaahhh!!! artikelnya kereeenn.. makasi gan, membantu banget buat saya yang lagi PKL.. mantaps!!

trus cara menampilkan gambar uploadtan gmna tuh gan

..Thank"s to~*~

Allah SWT, atas semua Rizki dan nikmatnya, My Mader en Fader terhebat.., My Broder's en Sister's en all my BigFams di daerah lain.., Sayangku cintaku Artati Paramita, Bank BRI yg ngasi' aku beasiswa,, alhamdulillah.. Suryasoft.net yg pernah menampungku bekerja.. dan memberikan pengalaman yg sangat berharga (^_^)v, Guru2ku (TK,SD,SMP,SMA) yg mendidik aku sampe bisa sejauh ini, Temen2 (TK,SD...smpe skrg) Rizka Z yg mbuat aku jd tertarik bikin blog ini.. Brill yg blognya ta bacem.. tmn2 (SI'04) NARSIIS.. yang sering support dan kasi' aku semangat.. dan semua dahh... maaf klo blum kesebut bilang aja di shoutbox.. hihi.. ntar ta tulis kok..

Yoroshiku..!!!

..MiLoplyTati~*~

..MiLoplyTati~*~
Batam ini indah...

..Facebook~*~

Ronny Ansis's Facebook profile

..silahkan mo bilang apa~*~

..Followers~*~

..Kasi' makan donk~*~