I am Creating File Uploading Servlet Program.Here is the
"materialupload.jsp"
<form enctype="multipart/form-data" action="uploadfile" method="post" önsubmit="return verify()">
<table border='0'> <tr>
<td>
Select Department
</td>
<td><select name="coursename" id="coursename">
<option value="IT" selected>Information Technology</option>
<option value="EC">Electronics & Communication</option>
<option value="ME">Mechanical Engineering</option>
<option value="CV">Civil Engineering</option>
<option value="CE">Computer Engineering</option>
<option value="EE">Electrical Engineering</option>
</select></td>
</tr>
<tr>
<td colspan="2">
<input type="file" name="filename" id="filename"
accept=".txt,application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword"/>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Save File" />
</td>
</tr>
</table>
<div style="color: red" id='error'></div><div style="color:red">${errorMessage}</div>
</form>
I am Sending Request to
uploadfile.java Servlet.When I select the File and click on Save File Button then servlet display this Error
"HTTP Status 500 - Corrupt form data: premature ending"
HERE IS THE ERROR SCREEN SHORT
Now Below Code is Servlet Code
"uploadfile.java" Servlet
try {
HashMap<String, String> formdata = new HashMap<String, String>();
String fieldname,fieldvalue;
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List fileItems = upload.parseRequest(request);
Iterator i = fileItems.iterator();
while ( i.hasNext () )
{
FileItem fi = (FileItem)i.next();
if (fi.isFormField()) {
String name = fi.getFieldName();
String value = fi.getString();
formdata.put(name,value);
}
}
String facnam = request.getSession().getAttribute("faculty").toString();
String coursename=formdata.get("coursename");
System.out.println(coursename);
System.out.println(facnam);
String rtempfile = File.createTempFile("temp","1").getParent();
MultipartRequest multi = new MultipartRequest(request,rtempfile, 15*1024*1024);
Enumeration files = multi.getFileNames();
String st="insert into documents(filename, type,content, upload_by,dep) values (?,?,?,?,?)";
PreparedStatement psmt=MyConnection.getConnection().prepareStatement(st);
String name="";
String fileExtesion="";
File ff =null;
FileInputStream fin =null;
while (files.hasMoreElements())
{ name=(String)files.nextElement();
ff = multi.getFile(name);
fileExtesion = ff.getName().substring(ff.getName().lastIndexOf("."));
System.out.println(fileExtesion);
boolean fileAllowed = fileExtesion.equalsIgnoreCase(".txt")||
fileExtesion.equalsIgnoreCase(".pdf")||
fileExtesion.equalsIgnoreCase(".doc")||
fileExtesion.equalsIgnoreCase(".docx")||
fileExtesion.equalsIgnoreCase(".xls")||
fileExtesion.equalsIgnoreCase(".xlsx");
if((ff!=null)&& fileAllowed)
{
try
{
fin=new FileInputStream(ff);
psmt.setString(1, ff.getName());
psmt.setString(2, fileExtesion);
psmt.setBinaryStream(3,(InputStream)fin, (int)(ff.length()));
psmt.setString(4, facnam);
psmt.setString(5, coursename);
Boolean rsd=psmt.execute();
request.setAttribute("errorMessage", "uploaded successfully.");
RequestDispatcher rd=request.getRequestDispatcher("materialupload.jsp");
rd.forward(request, response);
}
catch(Exception e)
{
request.setAttribute("errorMessage", "uploading unsuccessfully."+e );
RequestDispatcher rd=request.getRequestDispatcher("materialupload.jsp");
rd.forward(request, response);
}
finally {
fin.close();
ff.delete();
}
}
else
{
request.setAttribute("errorMessage", "Please select the correct file");
RequestDispatcher rd=request.getRequestDispatcher("materialupload.jsp");
rd.forward(request, response);
}
}
MyConnection.CloseConnection();
} catch (SQLException ex) {
Logger.getLogger(uploadfile.class.getName()).log(Level.SEVERE, null, ex);
} catch (FileUploadException ex) {
Logger.getLogger(uploadfile.class.getName()).log(Level.SEVERE, null, ex);
}
How to Remove this Error.any solution for that . i am using NETBEANS 7.3.1 and MYSQL DB.