smartup.initialize(pageContext);
smartup.setAllowedFilesList("doc,txt,xsl,ppt,pptx");
smartup.setDeniedFilesList("exe,bat,jsp,htm,html,,");
smartup.setTotalMaxFileSize(10000);
smartup.upload();
File curFile = smartup.getFiles().getFile(0);
String name = curFile.getFileName();
String ext = curFile.getFileExt();错误提示:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NegativeArraySizeException
com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:108)
org.apache.jsp.meet.upload_jsp._jspService(upload_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)这是哪的问题?
是包的问题吗?

解决方案 »

  1.   

    表单的提交方式改了吗?不能是Post~ <form action="smartUpload.jsp" ENCTYPE="multipart/form-data"> 
      

  2.   

    我的jsp
    <form method="post" action="upload.jsp" ENCTYPE="multipart/form-data" name="upForm">
    <table>
    <tr>
    <td>附件上传:</td>
    <td colspan="2"><input type="file" name="mAccessory" size="50"></td>
    <td><input type="submit" name="accessory_Upload" value="上传文件"
    ></td>
    </tr>
    </table>
    </form>
      

  3.   

    错误原因: 
    犯了一个低级错误,表单竟然不是post提交的。 <form action="smartUpload.jsp" ENCTYPE="multipart/form-data"> 
    改成 <form method="post" action="smartUpload.jsp" ENCTYPE="multipart/form-data"> 
    这样就可以了 
    这个错误还是很少见到的。因为很少有人GET提交这种上传的表单。 
    参考来源:http://www.java2000.net/p7968
      

  4.   

    操作的过程中一定要注意的几个方面:
           1.将smartUpload.jar拷贝到tomcat/lib以及项目的lib下面,最好是只多不少!
           2.因为上传的文件一般都很大,所以应该用methed="post"方式提交,而且还应对表单进行封装 enctype="multipart/form-data";
           3.因为对表单进行了封装,所以无法用request.getParameter("xxx")取得页面参数,在此必须用JspSmartUpload提供的smart.getRequest().getParameter("xxx")取得。
    注意这些基本就可以了~