损坏的表格数据过早结束错误在DB中上传文件 [英] Corrupt form data premature ending error duting file uploading in DB

查看:188
本文介绍了损坏的表格数据过早结束错误在DB中上传文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建文件上传Servlet Program.Here是materialupload.jsp

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>





我发送请求 uploadfile.java Servlet。当我选择文件并单击保存文件按钮然后servlet显示此错误HTTP状态500 - 损坏的表单数据:过早结束

这里错误的屏幕短缺



现在B elow Code是Servlet代码uploadfile.java Servlet



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);     // 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);
       }





如何删除此Error.any解决方案。我正在使用NETBEANS 7.3.1和MYSQL DB。



How to Remove this Error.any solution for that . i am using NETBEANS 7.3.1 and MYSQL DB.

推荐答案

{errorMessage} < / div >
< < span class =code-leadattribute> / form >
{errorMessage}</div> </form>





我发送请求 uploadfile.java Servlet。当我选择文件并单击保存文件按钮然后servlet显示此错误HTTP状态500 - 损坏表单数据:过早结束

这里是错误的屏幕短片



现在代码下面是Servlet代码uploadfile.java Servlet



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);     // 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);
       }





如何删除此Error.any解决方案。我正在使用NETBEANS 7.3.1和MYSQL DB。



How to Remove this Error.any solution for that . i am using NETBEANS 7.3.1 and MYSQL DB.


这篇关于损坏的表格数据过早结束错误在DB中上传文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆