日期:2014-05-17  浏览次数:20708 次

用multipart上传文件
出现如下错误 源码和错误提示如下 请指教!
java.io.IOException: Corrupt form data: premature ending
at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:222)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:173)
at com.jsl.projectInfo.action.materilListAction.add(materilListAction.java:99)
at com.jsl.projectInfo.action.materilListAction.doPost(materilListAction.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at cn.gov.common.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)




我的代码
Java code
private void add(HttpServletRequest request,HttpServletResponse response) throws
    ServletException, IOException {
        
        Materiallist ins = new Materiallist();
        String path = getServletContext().getRealPath("/");
        String saveDirectory = path + "attch\\materiallist\\";
        //String guid = PKGenerator.ReceiveGUID();
        int is=0;
        // 每个文件最大5m,最多10个文件,所以...
        int maxPostSize = 10 * 30 * 1024 * 1024;
        // response的编码为"gb2312",同时采用缺省的文件名冲突解决策略,实现上传
    

        MultipartRequest multi = new MultipartRequest(request, saveDirectory,
                maxPostSize, "utf-8");
        String guid=multi.getParameter("guid");    
        String filedesc= multi.getParameter("filedesc");        
        String filelevel = multi.getParameter("filelevel");
        String flag1=multi.getParameter("flag");        
        String mustflag = multi.getParameter("mustflag");
        String projecttypeid = multi.getParameter("projecttypeid");
        String name1=multi.getParameter("name");
         int flag = 0;  
        Enumeration files = multi.getFileNames();