Spring HTTP下载
(1)HTTP 协议可以在客户端和服务器之间传递任何类型的文件。
HTTP协议下载文档到客户端时候, 必须通过响应头Content-Type设置文件类型。
例如:
contentType=text/html
contentType=image/png
contentType=audio/mpeg
(2)如果需要指定下载名,可以通过响应头 Content-Disposition=attachment;filename="demo.xls"设置下载的文件名,写法如下:
response.setHeader("Content-Disposition", "attachment;filename="+fileName+".xls"); 指支持英文
如需设置中中文名,要进行中文转码。String fileName = java.net.URLEncoder.encode("泓凯账单信息", "UTF-8");
(3)Spring MVC 的控制器下载支持
@ResponseBody 注解不仅仅能够处理 JSON 数据, 可以自动处理其他数据:
- 如果返回值是一个JavaBean对象,就序列化JSON字符串反馈到浏览器
- 如果是byte[], 就将byte[] 数据填充到Response Body中发送到浏览器, 这时需要与 @RequestMapping配合
(4)案例一:动态生成png图片
//produces="image/png" 用于指示响应头中要包含Content-Type=image/png
@RequestMapping(value = "/png.do", produces = "image/png")
@ResponseBody
public byte[] demo() throws IOException {
BufferedImage img = new BufferedImage(100, 30, BufferedImage.TYPE_3BYTE_BGR);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(img, "png", out);
byte[] data = out.toByteArray();
out.close();
return data;
}
案例二:导出Excel文件
//动态生成 Excel 文件: //excel的文件contentType格式
@RequestMapping(value="excel.do",produces="application/vnd.ms-excel")
@ResponseBody
public byte[] excel(
HttpServletResponse response)
throws IOException{ //指定下载时候的文件名
response.setHeader(
"Content-Disposition",
"attachment;filename=\"demo.xls\""); HSSFWorkbook book=new HSSFWorkbook();
HSSFSheet sheet = book.createSheet(
"出勤");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("Hello World!"); ByteArrayOutputStream out =
new ByteArrayOutputStream();
book.write(out);
out.close();
byte[] data = out.toByteArray();
return data;
}
Spring HTTP下载的更多相关文章
- 2017/4/27-Gradle的配置与Spring的下载
Gradle的配置与Spring的下载 1.Gradle 1) 介绍 Gradle是一个基于Groovy的构建工具,类似Maven,但是比其更加简单轻便.它可以自动化地进行软件构建.测试.发布.部署. ...
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...
- [转]spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)
SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...
- Spring官方下载地址
改版后的Spring官方网站下载地址找不到了,汗~~ 可以通过该链接下载对应的包:http://repo.spring.io/milestone/org/springframework/ Spring ...
- Spring jar 下载地址
Spring jar 下载地址 http://repo.springsource.org/libs-release-local/org/springframework/spring/
- spring 中国下载点
http://repo.spring.io/libs-release-local/org/springframework/spring/ spring 中国下载点
- spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)
spring官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...
- spring 官方下载地址
SPRING官方网站改版后,建议都是通过Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦. 下给出Spring Framework jar官方直接下载路径: h ...
- spring的下载地址(转)
http://hi.baidu.com/jaimy_jie/item/d699cecdc5d3a354bdef6990 SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用 ...
随机推荐
- GNU/Linux复习笔记(2)
---IO重定向: 典型的冯诺依曼计算机由5大部件组成:运算器,控制器,存储器,输入设备和输出设备.而一台计算机上可能有很多输入设备和输出设备,键盘.麦克风是输入设备,显示器.声卡是输出设备,网卡.硬 ...
- MYSQL中UNIX时间戳与日期的转换
select FROM_UNIXTIME(1464973385.641,'%Y-%m-%d %H:%i:%s'); select UNIX_TIMESTAMP('2016-06-04 01:03:05 ...
- xp和win7安装telnet服务
xp: 有些ghost版本的xp会精简掉telnet服务 首先telnet服务需要的几个文件: tlntadmn.exe tlntsess.exe tlntsvr.exe tlntsvrp.dll 文 ...
- MongoDB(七)MongoDb数据结构
首先,向数据库插入一条bjson数据 首先是定义文档,然后使用admin用户名密码登录,进入test数据库,向test数据库中插入此文档("表名称和表中的记录") 插入结果,查看m ...
- How secure FB Messenger is?
It's reported that FB Messenge is the most secure App for instant messaging service. Let's see if FB ...
- Android IOS WebRTC 音视频开发总结(二五)-- webrtc优秀资源汇总
本文主要整理一些webrtc相关资料供学习(会持续更新),转载请说明出处,文章来自博客园RTC.Blacker,欢迎关注微信公众号:blackerteam ---------------------- ...
- <读书笔记>软件调试之道 :问题的核心-如何修复缺陷
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! 修复缺陷 对于一个好的修复来说,不仅仅是让软件运行正确,还需要为将来奠定基础.一 ...
- java工程或web工程项目上出现红色感叹号
最近在新公司重新搭建mybatis3+spring4框架的时候出现的问题.确定这个问题是出现在项目的build path里面,但是如果jar包上没出现红X就不知道哪个jar包有问题了,最笨的办法是删除 ...
- EJDK, Raspberry Pi, and NetBeans IDE 8
https://blogs.oracle.com/geertjan/entry/youtube_ejdk_raspberry_pi_and
- jquery change dropdownlist selected option
<select name="corporation"> <option value="1">corporation1</optio ...