jspSmartUpload上传路径不存在
2016-04-25 18:05
459 查看
今天改造一个上传的Jsp成servlet,其实就是一回事。用到了jspSmartUpload,执行到 file.saveAs("/upload/ChatFile/" + fileName); 的时候,一直报
最后才知道存放的目录是从 webapps/项目名开始的,不能放在web-inf下面。如:
tomcat/webapps/myproject/uploiad/ChatFile 正确
tomcat/webapps/myproject/web-inf/uploiad/ChatFile 错误
这不智能,其实你可以自动创建这个文件夹,非得事先创建好。
另外JSP改Servlet时,Html和JavaScript都是通过PrintWriter对象输出的,脚本的开始标签和结束标签都是不能少的,参数的单引号不能少,每条语句字符串后面还要加上分号 ;
java.lang.IllegalArgumentException: This path does not exist (1135). at com.jspsmart.upload.SmartUpload.getPhysicalPath(SmartUpload.java:656) at com.jspsmart.upload.File.saveAs(File.java:91) at com.jspsmart.upload.File.saveAs(File.java:65) at com.szkingdom.webproxy.FileuploadServlet.doPost(FileuploadServlet.java:69) at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2503) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2492) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:722)
最后才知道存放的目录是从 webapps/项目名开始的,不能放在web-inf下面。如:
tomcat/webapps/myproject/uploiad/ChatFile 正确
tomcat/webapps/myproject/web-inf/uploiad/ChatFile 错误
这不智能,其实你可以自动创建这个文件夹,非得事先创建好。
另外JSP改Servlet时,Html和JavaScript都是通过PrintWriter对象输出的,脚本的开始标签和结束标签都是不能少的,参数的单引号不能少,每条语句字符串后面还要加上分号 ;
PrintWriter out = response.getWriter(); out.println("<script>"); //js开始 out.println("sendVoice('"+fileName+"');"); // 参数两边要加上单引号 out.println("sendImg(\"param\")<strong>;</strong>"); //加上分号表示语句结束 out.println("alert(\"附件不是gif,jpg,png或超出1M大小,请重新选择!\")<strong>;</strong>"); out.println("</script>"); // js结束
相关文章推荐
- Silverlight文件上传下载实现方法(下载保存)
- python paramiko模块管理SSH
- 用Java实现FTP批量大文件上传下载
- Struts2之上传下载和页面渲染图片功能
- CheungSSH国产自动化运维工具开源Web界面
- 项目中第一次做图片上传和下载功能过程>>>
- SpringMVC+Ajax用FormData对象上传页面的图片(文件),并且立马在页面上显示出来
- No FileItemFactory has been set
- jsp文件上传下载
- 有关上传下载的路径问题
- PHP自学之路------PHP文件编程
- OkHttp 使用 get post UI线程回调 上传 下载 进度监听 更好地封装
- java中上传下载文件
- .net中 下载中文文件名的乱码问题
- 使用HttpClient实现文件和其他表单数据的上传
- linux命令整理
- JSF1.2上传下载
- IOS_多线程_GET_POST_AFN_上传下载_视频播放
- PHP文件的上传下载中,全局变量$_FILES的作用及解析
- jsp+mysql文件上传下载方法比较(解决中文编码问题)