JSP新手提问,jspsmartupload上传文件类型限制问题
代码:
mySmartUpload.setMaxFileSize(1*1024*1024);//设置上传文件的最大值为1M
try
{
mySmartUpload.setAllowedFilesList( "jpg,gif,bmp ");//只允许上载此类文件
mySmartUpload.upload();
}
catch(Exception e){
%>
<script language=javascript>
alert( "只允许上传.jpg、.gif和.bmp类型图片文件 ");
window.location.href= 'index.jsp ';
</script>
<%
}
当上传图片等类型时,上传成功,但是上传.txt,.doc等其他类型的文件时,并没有运行抛出异常那条语句,网页显示的错误是:
exception
org.apache.jasper.JasperException: Files ' name is invalid or does not exist (1205).
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.IllegalArgumentException: Files ' name is invalid or does not exist (1205).
com.jspsmart.upload.Files.getFile(Files.java:73)
org.apache.jsp.upload_jsp._jspService(upload_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
请高手来解决一下吧....谢谢了
------解决方案--------------------可能是因为你是在netbeans中启动的web服务器吧 你试试在外部启动 然后运行上传程序
------解决方案--------------------晕 找到tomcat/bin下面的startup.bat 双击执行
------解决方案--------------------自己捕获异常,显示提示信息就行了。
------解决方案--------------------你用netbeans,当然只要重启内部的服务器就可以了~~~~
------解决方案--------------------catch(Exception e)改成 catch(
java.lang.IllegalArgumentException e) 看看
------解决方案-------------------- <input type=file onchange= "if(!/\.jpg/.test(this.value)){alert( '文件类型错误,只允许JPG/JPEG格式. ')} ">