SmartUpload smartupload = new SmartUpload();
smartupload.initialize(this.getServletConfig(),request,response);
String imagename = null;
String iname = null;
//准备上传
try {
说这行报错//smartupload.upload() ;
IPTimeStamp ip = new IPTimeStamp();
iname = ip.getIPTimeStampRand()+"."+smartupload.getFiles().getFile(0).getFileExt();
imagename = this.getServletContext().getRealPath("/")+"admin/"+iname;
smartupload.getFiles().getFile(0).saveAs(imagename) ;
} catch (SmartUploadException e) {
e.printStackTrace();
}严重: Servlet.service() for servlet GoodsServlet threw exception
java.lang.NegativeArraySizeException
at org.lxh.smart.SmartUpload.upload(SmartUpload.java:133)
at com.wxw.servlet.GoodsServlet.add(GoodsServlet.java:150)
at com.wxw.servlet.GoodsServlet.doPost(GoodsServlet.java:46)
at com.wxw.servlet.GoodsServlet.doGet(GoodsServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.wxw.servlet.EncodingFilter.doFilter(EncodingFilter.java:15)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
smartupload.initialize(this.getServletConfig(),request,response);
String imagename = null;
String iname = null;
//准备上传
try {
说这行报错//smartupload.upload() ;
IPTimeStamp ip = new IPTimeStamp();
iname = ip.getIPTimeStampRand()+"."+smartupload.getFiles().getFile(0).getFileExt();
imagename = this.getServletContext().getRealPath("/")+"admin/"+iname;
smartupload.getFiles().getFile(0).saveAs(imagename) ;
} catch (SmartUploadException e) {
e.printStackTrace();
}严重: Servlet.service() for servlet GoodsServlet threw exception
java.lang.NegativeArraySizeException
at org.lxh.smart.SmartUpload.upload(SmartUpload.java:133)
at com.wxw.servlet.GoodsServlet.add(GoodsServlet.java:150)
at com.wxw.servlet.GoodsServlet.doPost(GoodsServlet.java:46)
at com.wxw.servlet.GoodsServlet.doGet(GoodsServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.wxw.servlet.EncodingFilter.doFilter(EncodingFilter.java:15)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
数组的size为负值,错误不是出现在smartupload.upload()这一行,虽然提示这行有错误
你检查一下其他代码,看一下有无异常,或者直接把其他代码全删掉,光执行一下上传代码,这时应该不会有错误
//定义SmartUpload对象
SmartUpload upload = new SmartUpload();
//初始化
upload.initialize(this.getServlet(), request, response);
//上传文件
upload.upload();
//获取上传文件中的第一个
SmartFile myFile = upload.getFiles().getFile(0);
//取得文件名
String filename = myFile.getFileName();
//判断是否上传了,没有则返回上传页面
if(filename.length()==0){
request.setAttribute("msg", "请选择要上传的文件!");
return mapping.findForward("imprt");
} else{
//在服务器上拼接存储上传文件的路径
String url=ImportAction.class.getResource("/").toString();
int lastIndex=url.length()-16;
String filePath=url.toString().substring(6,lastIndex)+"upload/";
File f=new File(filePath);
f.mkdirs();
//存储,SAVEAS_PHYSICAL以操作系统的根目录为文件根目录另存文件
myFile.saveAs(filePath+filename, myFile.SAVEAS_PHYSICAL);
request.setAttribute("filePath",filePath+filename );
//保存文件扩展名
request.setAttribute("fileExt",myFile.getFileExt() );
}
很久以前遇到过这个问题。。 <form action="UploadTest2.jsp" method="post" enctype="multipart/form-data">
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
为啥我的是这一行报错
下面是异常,跪求大神!java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ecommerce.servlets.CentralServlet.invokeRequest(CentralServlet.java:2307)
at com.ecommerce.servlets.CentralServlet.processRequest(CentralServlet.java:1879)
at com.ecommerce.servlets.CentralServlet.doPost(CentralServlet.java:993)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.business.sitemesh.filter.PageFilter.obtainContent(PageFilter.java:239)
at com.business.sitemesh.filter.PageFilter.doFilter(PageFilter.java:180)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.business.filter.SetCharacterEncodingFilter.doFilter(Unknown Source:288)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.jspsmart.upload.SmartUpload.initialize(SmartUpload.java:117)
at cn.net.nvq.zhixie.testLoad.UploadServlet.doGet(UploadServlet.java:29)
at cn.net.nvq.zhixie.testLoad.UploadServlet.doPost(UploadServlet.java:68)
at cn.net.nvq.zhixie.command.AppCommand.secondStepupload(AppCommand.java:397)
... 28 more