这是整个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)
大家帮忙看看 这是什么问题 在网上找了很多问题还是没解决
(在本地运行 和测试服务器上运行都没问题 就是在正式服务器上抛出这个异常)
<%@ 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)
大家帮忙看看 这是什么问题 在网上找了很多问题还是没解决
(在本地运行 和测试服务器上运行都没问题 就是在正式服务器上抛出这个异常)
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
su.setAllowedFilesList("png,gif,jpg");
最大的痛苦莫过于看别人的代码 调bug
本地和测试服务器上都正常 正式服务器上报异常 这个上传用的是jspSmartUpload.jar 我把正式服务器上的jspSmartUpload.jar拿到测试服务器上 运行正常
我已经没办法了 谁有正解