| 
           
            | 
  JSP and Upload File Form (Java) บทความนี้จะเป็นการเขียน JSP เพื่อทำการอัพโหลด Upload ไฟล์จาก Client ไปยัง Server ผ่านการ Brown ไฟล์จาก Web Browser จากนั้นทำการ Submit ไฟล์ไปยัง Server และ JSP จะทำการ Upload เพื่อ Copy ไปยัง Path ที่ต้องการ 
    |  
        JSP and Upload File Form (Java)       |  
 Example ตัวอย่างการ Upload ไฟล์ด้วย JSP
 
 
  
 สร้างโฟเดอร์ชื่อว่า Upload เพื่อจัดเก็บไฟล์
 
 index.jsp
 
 <html>
<head>
	<title>ThaiCreate.Com JSP Tutorial</title>
</head>
<body>
	<form name="frmUpload" method="post" action="upload.jsp" enctype="multipart/form-data">
		<input type="file" name="filUpload">
		<input name="btnSubmit" type="submit" value="Submit">
	</form>
</body>
</html>
 upload.jsp
 
 <%@ page import="java.io.*" %>
<html>
<head>
	<title>ThaiCreate.Com JSP Tutorial</title>
</head>
<body>
<%
	//to get the content type information from JSP Request Header
	String contentType = request.getContentType();
	//here we are checking the content type is not equal to Null and
	if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
		DataInputStream in = new DataInputStream(
				request.getInputStream());
		//we are taking the length of Content type data
		int formDataLength = request.getContentLength();
		byte dataBytes[] = new byte[formDataLength];
		int byteRead = 0;
		int totalBytesRead = 0;
		//this loop converting the uploaded file into byte code
		while (totalBytesRead < formDataLength) {
			byteRead = in.read(dataBytes, totalBytesRead,
					formDataLength);
			totalBytesRead += byteRead;
		}
		String file = new String(dataBytes);
		//for saving the file name
		String saveFile = file
				.substring(file.indexOf("filename=\"") + 10);
		saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
		saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,
				saveFile.indexOf("\""));
		int lastIndex = contentType.lastIndexOf("=");
		String boundary = contentType.substring(lastIndex + 1,
				contentType.length());
		int pos;
		//extracting the index of file 
		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;
		// creating a new file with the same name and writing the content in new file
		String savePath = application.getRealPath("\\upload\\"+saveFile);
		
		out.println("Upload file Successfully.<br>");
		
		out.println("Save to : " + savePath);
		
		FileOutputStream fileOut = new FileOutputStream(savePath);
		fileOut.write(dataBytes, startPos, (endPos - startPos));
		fileOut.flush();
		fileOut.close();
	}
%>	
</body>
</html>
Output
 
 
  
 เลือกไฟล์ที่จะอัพโหลด
 
 
  
 อัพโหลดไฟล์เรียบร้อยแล้ว จะเห็นว่า Path จะไม่ได้อยู่ใน Workspace ที่เราเก็บ แต่จะเป็นโฟเดอร์ที่ Eclipse ทำการจำลอง Path สำหรับการรัน
 
 
  
 คลิกตามโฟเดอร์จะพบไฟล์อยู่ในโฟเดอร์ของ upload
 
 
 
 
 |  
            | 
			 ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท 
 |  
 
 
 
          
            | 
                
                  |  |  
                  |  | By : | ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |  
                  |  | Score Rating : |      |  |  
                  |  | Create/Update Date : | 2013-08-12 18:37:19            /
            2013-08-20 21:23:12 |  
                  |  | Download : |   |  |  
         
          | 
              
                | Sponsored Links / Related |  |  
          | 
 |  |   
          |  |  
 |   |