前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springmvc下载文件

springmvc下载文件

作者头像
yawn
发布2018-03-14 11:16:46
4680
发布2018-03-14 11:16:46
举报
文章被收录于专栏:osc同步分享-java技术分享站
代码语言:javascript
复制
	@RequestMapping("/testResponseEntity")
	public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException{
		byte [] body = null;
		ServletContext servletContext = session.getServletContext();
		InputStream in = servletContext.getResourceAsStream("/files/abc.txt");
		body = new byte[in.available()];
		in.read(body);
		
		HttpHeaders headers = new HttpHeaders();
		headers.add("Content-Disposition", "attachment;filename=abc.txt");
		
		HttpStatus statusCode = HttpStatus.OK;
		
		ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(body, headers, statusCode);
		return response;
	}

示例代码中,返回值为ResponseEntity<byte[]>类型时,springmvc使用ByteArrayHttpMessageConverter对返回值进行转换。

springmvc使用MessageCoverter对请求和响应进行转换,在使用RequestEntity、ResponseEntity、@RequestBody和@ResponseBody时,就会影响MessageConverter的选用。

在返回json时,需要使用MappingJackson2HttpMessageConverter,但是spring4.4中需要我们手动配置这个converter,才会加载。

代码语言:javascript
复制
	<mvc:annotation-driven>
		<mvc:message-converters>
			<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
		</mvc:message-converters>
	</mvc:annotation-driven>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档