注:本文为转载后编辑"加工"的.原出处:点击打开链接
【问题】JspSmartUpload.jar上传出错:Files' name is invalid or does not exist (1205)
java.lang.IllegalArgumentException: Files' name is invalid or does not exist (1205). at com.jspsmart.upload.Files.getFile(Files.java:73) at com.servlet.UnloadServlet.doPost(UnloadServlet.java:98) 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 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:127) 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:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619)
由错误提示可以得知,当JSP提交到servlet后,servlet执行到File file = upload.getFiles().getFile(0);以后就不在执行了
【解决方法】
具体是jsp页面的form需要设置(需要设置enctype和name属性, 不然 servlet找不到file文件)
注:表单中enctype="multipart/form-data "的意思, 是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data ,才能完整的传递文件数据。<form action="unloadServlet" enctype="multipart/form-data" method="post" > 文件路径: <input type="file" name="file" > <br/> <input type="submit" value="上传"/> </form>