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

JSP页面怎么实现超链接定向绝对路径实现下载功能
现在我做了一个下载功能,超链接实现下载,但是貌似只能相对路径,绝对路径的不行,部分代码如下
页面超链接重定向:<a href="pages/download.jsp?fpath=/imgs/bg.jpg&fname=bg.jpg">xia</a>
下载页面:
<% response.setContentType("application/x-download");//设置为下载application/x-download
String fpath =(String)request.getParameter("fpath");
String fname =(String)request.getParameter("fname");
String filedownload =fpath;//即将下载的文件的相对路径

String filedisplay =fname;//下载文件时显示的文件保存名称

response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);

try { RequestDispatcher dis = application.getRequestDispatcher(filedownload);

if(dis!= null) { dis.forward(request,response);

}

response.flushBuffer();

}

catch(Exception e)

{

e.printStackTrace();

}

finally { }

%>

但是我改成绝对路径就不行了,谁能帮我改下,实现绝对路径的下载


------解决方案--------------------
如果要用绝对路径有个问题,你想下,jsp页面发布到网上,别人下载时通过你设置的相对路径没有问题,因为相对于你web应用的路径再往下找;如果是绝对路径,比如C盘的某个路径下某个文件,那用户下载是去自己本地的C盘去找了,那当然找不到要下载的文件。
如果用绝对路径,就有IO流的方式,把你的绝对路径处理一下。
------解决方案--------------------
http://topic.csdn.net/u/20100730/17/c3b87d77-3f13-45de-86bf-0105b9427d03.html