黑马程序员技术交流社区

标题: 文件下载的servlet问题请教各位 [打印本页]

作者: 归☆夜↑『    时间: 2013-8-21 22:09
标题: 文件下载的servlet问题请教各位
我写了一个用作资源下载的servlet, 其作用是在访问时根据url的参数找到要下载资源的绝对路径比如参数为path(资源真实存在且路径也正确!!):
在servlet中连接资源的代码为:
String path = request.getParameter("path");
InputStream is = new FileInputStream(path);
OutputStream os = response.getOutputStream();
                        byte[]buffer = new byte[1024*1024];
                        int len ;
                        while((len=is.read(buffer))!=-1){
                                os.write(buffer);
                        }
                        is.close();


程序运行后报了如下错误:
严重:Servlet.service() for servlet [DownPicServlet] in context with path [/e-store] threw exception
java.io.FileNotFoundException: 'E:\TomcatService\webapps\e-store\WEB-INF\UPLOAD\87240e43-f6f6-446e-8e7d-ffc44e33341ap_large_Nzjq_746e0001f22c2d0e.jpg' (文件名、目录名或卷标语法不正确。)


为了证明资源路径的准确性 我在同一工程下另外写了一个servlet中访问了该资源(注:与上面不同的是将资源路径的获取写死而不是从getParameter()中获取,即InputStream is = new FileInputStream("E:\TomcatService\webapps\e-store\WEB-INF\UPLOAD\87240e43-f6f6-446e-8e7d-ffc44e33341ap_large_Nzjq_746e0001f22c2d0e.jpg"),参数为控制台报错的内容),
结果是能正确访问得到 ,为什么在s资源路径作为参数传入的servlet中就访问不到   百思不解     求解!!!!!!!!!!!!!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2