通过response输出流实现下载功能
2014-07-15 22:38
357 查看
<%//download.jsp%> <%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GBK"%> <% response.setCharacterEncoding("utf-8"); String path = request.getParameter("path");//get path path = new String(path.getBytes("iso-8859-1"));//parameter must be ISO-8859-1 File file = new File(path); InputStream in = new FileInputStream(file); OutputStream os = response.getOutputStream();//get response outputStream response.addHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes("gbk"), "iso-8859-1")); response.addHeader("Content-Length", file.length() + ""); response.setContentType("application/octet-stream"); int data = 0; while ((data = in.read()) != -1) {//-1 when reach the end os.write(data); } os.close(); in.close(); %>
上面的代码将获取的文件通过response.getOutputStream输出。
<span style="font-size:10px;"><A
<span style="white-space:pre"> </span>HREF="download.jsp?path=<%=getServletContext().getRealPath("test.jpg")%>">
<span style="white-space:pre"> </span><img src="images/download.GIF" width="22" height="22" border="0">
</A></span>上面的代码嵌入到某个JSP中,点击图片,执行download.jsp方法,并把文件的路径以参数的形式传送过去。其中getServletContext().getRealPath() 获取到WebRoot根目录下,可以通过拼接路径获得WebRoot下的子目录。
相关文章推荐
- C#+arcengine实现输出水深图的功能(通过淹没区域和dem高程数据)(包含栅格计算器(减)、feature to line、产生随机点、获得高程、extract values to poin)
- 通过servlet实现ftp下载功能
- 使用socket套接字通过http协议实现文档下载功能
- 通过Response.Flush()实现IE下载失败的问题
- Response_输出数据,实现文件下载,定时刷新页面,是否缓存,重定向,实现验证码
- 使用HttpServletResponse实现下载功能
- C# 软件下载插件,软件自动更新功能实现,通过cmd命令调用应用程序,应用程序实现单例启动
- java通过jsp+javaBean+servlet实现下载功能
- java 通过 URL 类和 URLConnection类 以及输入流实现文件下载功能
- 后台通过读取流的形式,实现下载功能
- response小结(三)—输出随机图片(验证码功能实现)
- ios断点续传:通过NSURLSession实现文件下载功能
- 通过Response.Flush()实现下载失败的解决方法
- WINCE基于CH7024实现TV OUT (VGA)功能_CPU(在此为S3C2443)输出的RGB数字信号通过CH7024转换成PAL制式的模拟信号输出到电视
- java文件下载通过response流实现文件存储在客户端指定路径
- 基于Java文件输入输出流实现文件上传下载功能
- React中,通过iframe,实现文件下载功能
- 使用response实现文件下载功能
- Android 通过开源框架实现加载网络图片并下载到SD卡通知系统相册显示,(并实现分享图片功能)
- IE下通过response输出流的方式,输出图片等文件信息到IE,图片显示不了,文件下载不了的问题。