这是整个jsp<%@ page language="java" contentType="text/html; charset=utf-8"%>
 <%@ page import="com.jspsmart.upload.SmartUpload"%>
<%@page import="java.io.File"%>
<%
//新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
    String str = null;
//上传初始化
su.initialize(pageContext); // 设定上传限制
//1.限制每个上传文件的最大长度。
su.setMaxFileSize(10000000); //2.限制总上传数据的长度。
su.setTotalMaxFileSize(20000000); //3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
su.setAllowedFilesList("png,gif,jpg");
String strName = "";
boolean sign = true;

//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。
com.jspsmart.upload.File myFile=null;
try { su.setDeniedFilesList("exe,bat,jsp,htm,html"); //上传文件
su.upload();
myFile = su.getFiles().getFile(0);
//文件名
if(!myFile.isMissing()){
str = "not   isMissing";
}
if (!myFile.isMissing()) {
strName = myFile.getFileName();
System.out.println(strName);
//将上传文件保存到指定目录
String path =getServletContext().getInitParameter("file_path");
System.out.println(path);
File file = new File(path);
if (!file.exists()) {
if (!file.mkdir()) { }
}
su.save(path);
} else {
sign = false;
str = "isMissing";
}
} catch (Exception e) {
e.printStackTrace();
sign = false;
str = "Exception";
}
if (sign == true) {
out.println("<script>parent.callback('"+str+"')</script>");
} else { //  出现这种情况
     out.println("<script>parent.callback('"+str+"')</script>");
//out.println("<script>parent.callback('upload file error')</script>");
}
%>其中 运行时抛了异常:
java.lang.SecurityException: The extension of the file is not allowed to be uploaded (1010).
        at com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:297)
        at org.apache.jsp.fabu.upload_jsp._jspService(upload_jsp.java:73)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.pdager.issue.filter.ClearFilter.doFilter(ClearFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.pdager.issue.filter.UserLoginFilter.doFilter(UserLoginFilter.java:39)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
        at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.pdager.permission.filter.CharaterEncodingFilter.doFilter(CharaterEncodingFilter.java:31)
        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:172)
        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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
大家帮忙看看 这是什么问题   在网上找了很多问题还是没解决
(在本地运行 和测试服务器上运行都没问题   就是在正式服务器上抛出这个异常)

解决方案 »

  1.   

    png,gif,jpg能传的就这几个...你别传别的上去...
      

  2.   

    就是说你的代码写完能上传的文件格式只有png,gif,jpg三种....大哥...代码拷的?
      

  3.   

    你已经把它设置成除了png,gif,jpg这三种格式的其它类型都不能上传的。
      

  4.   

     你上传的文件类型不匹配吧明显不对了
    //3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
    su.setAllowedFilesList("png,gif,jpg"); 
      

  5.   

          4楼 你把我当白痴了啊!  我还不知道只能传这几种格式     我这在调bug   这是别人写的东东
               最大的痛苦莫过于看别人的代码 调bug        
    本地和测试服务器上都正常   正式服务器上报异常   这个上传用的是jspSmartUpload.jar   我把正式服务器上的jspSmartUpload.jar拿到测试服务器上  运行正常
      我已经没办法了  谁有正解
      
      

  6.   

      谢谢各位了  问题解决了  原来是正式服务器上有重复的jar包 导致抛异常   把重复的jar包去掉就ok了