jsp smartupload 上传文件出错[java.lang.ArrayIndexOutOfBoundsException:]

PCD 2005-09-12 11:55:37
请帮忙,谢谢
运行到jsp_upload.upload();出错(用的是resin-3.0.8,确认过form 提交部分格式正确):
java.lang.ArrayIndexOutOfBoundsException: 32506
at com.jspsmart.upload.SmartUpload.getDataHeader(SmartUpload.java:857)
at com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:259)
at _jsp._web._black._black__jsp._jspService(_black__jsp.java:63)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.pageservice(Page.java:571)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:190)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:331)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:464)
at com.caucho.util.ThreadPool.run(ThreadPool.java:408)
at java.lang.Thread.run(Thread.java:536)


代码如下:
com.jspsmart.upload.SmartUpload jsp_upload = new com.jspsmart.upload.SmartUpload();

jsp_upload.initialize(pageContext);
jsp_upload.setDeniedFilesList("exe,bat,jsp,php,aspx,doc,asp,java");
jsp_upload.setTotalMaxFileSize(1024*1000); // limit <1M
com.jspsmart.upload.Request jsp_request = null;

try {
jsp_upload.upload();
com.jspsmart.upload.File myFile = jsp_upload.getFiles().getFile(0);
com.jspsmart.upload.File myFile1 = jsp_upload.getFiles().getFile(1);
String ext = FileUtils.extractFileExt(myFile.getFileName()).toLowerCase();

jsp_request = jsp_upload.getRequest();

if(myFile.getFileName()!=null) {
// 还没有对上传文件进行操作,我把其他的代码都删了,只留了两行后台消息
System.out.println("file1 = " + myFile.getFileName());
System.out.println("file1 = " + myFile1.getFileName());
}
}
catch(Exception e) {
e.printStackTrace();
}
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzg_study 2005-09-12
  • 打赏
  • 举报
回复
那是因为你的getFile(1)没有东东,造成的数组越界
我在故你快乐 2005-09-12
  • 打赏
  • 举报
回复
象你这样,没有判断之前直接getFile(0)和getFile(1)当日容易导致数组超界啊
我在故你快乐 2005-09-12
  • 打赏
  • 举报
回复
操作上传文件之前先判断是否上传文件是否存在,例如:if (!myUpload.getFiles().getFile(0).isMissing()){com.jspsmart.upload.File myFile = jsp_upload.getFiles().getFile(0);};如果是多个文件,还需要判断上传文件的数量啊
hugoon 2005-09-12
  • 打赏
  • 举报
回复
PCD 2005-09-12
  • 打赏
  • 举报
回复
自己顶下先~~

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧