您的位置:首页 > 产品设计 > UI/UE

利用RequestDispatcher实现文件下载,支持下载工具

2008-06-16 10:12 411 查看
转自:http://blog.csdn.net/sunyujia/archive/2008/06/15/2549292.aspx

一个好用的下载文件的实现方法,好多朋友喜欢自己控制输出流来实现下载,但是那种方法非常容易出问题,而且不能使用下载工具进行下载,利用这种方式还可以使用下载工具进行下载,也不用担心输出流有问题,因为是web容器控制的, jsp文件只有两个参数,一个是下载对话框提示要保存的文件名,一个是文件做在服务器上面的相对路径,点击下载后页面不仅不会跳转,还会弹出文件保存对话框,还支持目标另存为或使用下载工具进行下载. <a herf='X.jsp?fileName=a.doc&filePath=x/a.doc'>点击下载</a>

view plaincopy to clipboardprint?

<%



String filePath = "/"+request.getParameter("path");



String fileName = request.getParameter("name");



if(fileName!=null&&filePath!=null){



response.setContentType("application/x-download");



response.addHeader("Content-Disposition","attachment;filename=" + java.net.URLEncoder.encode(fileName,"UTF-8"));



try{



out.clear();



out=pageContext.pushBody();



}catch(Throwable e){



e.printStackTrace();



}



try{



RequestDispatcher dis = application.getRequestDispatcher(filePath);



dis.forward(request,response);



}catch(Throwable e){



e.printStackTrace();



}finally{



response.flushBuffer();



}



}



%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐