How to upload file using JSP?

Hi all,

I m the beginner in JSP, I want to upload file on server in specific folder.

View Answers

November 11, 2011 at 1:13 PM

1)page.jsp:

<%@ page language="java" %>
<HTML>
<HEAD><TITLE>Display file upload form to the user</TITLE></HEAD>  
<% //  for uploading the file we used Encrypt type of multipart/
form-data and input of file type to browse and submit the file %>
  <BODY> <FORM  ENCTYPE="multipart/form-data" ACTION=
"upload.jsp" METHOD=POST>
                <br><br><br>
          <center><table border="2" >
                    <tr><center><td colspan="2"><p align=
"center"><B>PROGRAM FOR UPLOADING THE FILE</B><center></td></tr>
                    <tr><td><b>Choose the file To Upload:</b>
</td>
                    <td><INPUT NAME="F1" TYPE="file"></td></tr>
                                        <tr><td colspan="2">
<p align="right"><INPUT TYPE="submit" VALUE="Send File" ></p></td></tr>
             <table>
     </center>      
     </FORM>
</BODY>
</HTML>

2)upload.jsp:

<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>

<% String contentType = request.getContentType();
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);
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;
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;
File f = new File("C:\\"+saveFile);
FileOutputStream fileOut = new FileOutputStream(f);
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();
%><Br><table border="2"><tr><td><b>You have successfully upload the file by the name of:</b>
<% out.println(saveFile);%></td></tr></table>
<%
}
%>

November 11, 2011 at 7:22 PM

thanks deepak sir to ur reply,

but i use it. my uploaded file store in in my Tomcat folder. I want to store it in my project folder.

For example:

Currently stored in: C:\Program Files\Apache Software Foundation\Tomcat\

But I want store it in: C:\Program Files\Apache Software Foundation\Tomcat\myproj\photo\


November 13, 2011 at 11:58 AM

oh sorry I m not seen u already mention the path thank you deepak sir.


April 16, 2013 at 3:27 PM

bro i to get same problem the file uploded in tomcat

to change path where i have to change


April 16, 2013 at 3:56 PM

thank u bro i got it very useful


April 16, 2014 at 4:11 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>


April 16, 2014 at 4:11 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>


April 16, 2014 at 4:11 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>


April 16, 2014 at 4:11 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>


April 16, 2014 at 4:16 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>


April 16, 2014 at 4:16 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>


April 16, 2014 at 4:16 PM

Try this: Index.html

</center>
<input type="submit" value="submit">

Upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="com.oreilly.servlet.MultipartRequest"%> JSP Page <%

MultipartRequest m = new MultipartRequest(request,"Folder Location",500000);

String filename=m.getFilesystemName("file"); out.println(filename); %>









Related Tutorials/Questions & Answers:
Advertisements