Click here to Skip to main content
15,890,185 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am Creating File Uploading Servlet Program.Here is the "materialupload.jsp"
HTML
  <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
Java
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);     // maximum size 15 MB

                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);  // pass the user name or id
                                        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);
                        }// end of if and else
                }// end of while

                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.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900