日期:2014-05-17  浏览次数:20617 次

网上照片上传功能
在网上下了个例子 然后支上 但是他的传图片功能不好使 我也看不明白 请问这应该怎么改



这是输出的内容
C:\Documents and Settings\Administrator\桌面\图片\亮度\0.bmp
D:\Tomcat6\webapps\Test\upload
D:\Tomcat6\webapps\Test\upload\pic_1



这是报错内容

java.io.FileNotFoundException: D:\Tomcat6\webapps\Test\upload\pic_1\C:\Documents and Settings\Administrator\桌面\图片\亮度\0.bmp (文件名、目录名或卷标语法不正确。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:439)
at web.FriendActionServlet.service(FriendActionServlet.java:135)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
------解决方案--------------------
对变量name没有处理好,name还带着完整的:“C:\Documents and Settings\Administrator\桌面\图片\亮度\0.bmp”
导致最后组装出来的文件路径是错误的。


修改下:
  name = name.substring(name.lastIndexOf("\\") + 1);