利用 spring mvc ResponseEntity 做文件下载



controller代码:

@RequestMapping(value = "/cmpSts/{cmpId}", method = RequestMethod.GET)
	public ResponseEntity<byte[]> cmpSts(@PathVariable int cmpId,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		Locale local=request.getLocale();
		String[] file = new String[]{"a.txt","a,b"};
		byte[] bs = file[1].getBytes("UTF-8");
		HttpHeaders headers = new HttpHeaders();
	    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
	    headers.setContentDispositionFormData("attachment", new String(file[0].getBytes("UTF-8"), "ISO8859-1"));  //解决文件名中文乱码问题
		return new ResponseEntity<byte[]>(bs, headers, HttpStatus.CREATED);
	}

xml配置:

<bean
		class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>

				<bean
					class="org.springframework.http.converter.StringHttpMessageConverter">
					<property name="writeAcceptCharset" value="false" />
					<property name="supportedMediaTypes">
						<list>
							<value>text/plain;charset=UTF-8</value>
						</list>
					</property>
				</bean>
				<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
				<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
				    <property name="supportedMediaTypes">
				        <list>
				            <value>application/json;charset=UTF-8</value>
				       </list>
				    </property>
				</bean>
			</list>
		</property>
	</bean>

我参考文章:http://sishuok.com/forum/posts/list/5351.html



版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-09 11:19:47

利用 spring mvc ResponseEntity 做文件下载的相关文章

利用Spring MVC 上传图片文件

本文转自:http://amcucn.iteye.com/blog/264457.感谢作者 近日在工作当中,需要用到上传图片的功能,然而自己平时学习的时候只会使用struts的上传功能,但因为项目并没有使用struts,而是spring mvc ,最后不得不另寻它路.通过google和百度,看到了一些相关的介绍.经过自己的偿试,最终搞定利用spring mvc 上传文件的功能,完成图片的上传.如果只是为了上传图片,可以通过限制扩展名的形式达到目的.下面给出关键的代码部分. 关于spring的配置

【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MVC与json参考文章:[spring学习笔记-mvc-3]返回json数据-方式1  和 [spring学习笔记-mvc-4]返回json数据-方式2. 使用到的技术主要如下: Ajax:使用JQuery 提供的ajax:==>需要引入jquery.min.js文件: Spring MVC: Jso

关于我使用spring mvc框架做文件上传时遇到的问题

非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题1:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.catalin

Spring mvc+easyui做列表展示及分页

Spring mvc有一个注解@ResponseBody可以自己将返回数据解析成json,不用在response.getWriter(),设置response的编码之类的. 1.首先在spring-mvc.xml中配置如下 <bean id="mappingJacksonHttpMessageConverter"         class="org.springframework.http.converter.json.MappingJacksonHttpMessag

利用Spring MVC搭建REST Service

之前写过一篇 利用JAX-RS快速开发RESTful 服务 今天来看下spring-mvc框架如何实现类似的功能: 一.pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

利用Spring MVC中@Async异步特性改善耗时操作的用户体验

Web应用中,有时会遇到一些耗时很长的操作(比如:在后台生成100张报表再呈现,或 从ftp下载若干文件,综合处理后再返回给页面下载),用户在网页上点完按钮后,通常会遇到二个问题:页面超时.看不到处理进度. 对于超时,采用异步操作,可以很好的解决这个问题,后台服务收到请求后,执行异步方法不会阻塞线程,因此就不存在超时问题.但是异步处理的进度用户也需要知道,否则不知道后台服务何时完成,不知道是否继续等候,还是关掉页面. 思路: 1.browser -> Spring-MVC Controller

利用spring boot+vue做的一个博客项目

技术栈: 后端 Springboot druid Spring security 数据库 MySQL 前端 vue elementUI 项目演示: GitHub地址: 后端:https://github.com/TUGOhost/My-Blog 前端:https://github.com/TUGOhost/My-Blog-Front 原文地址:https://www.cnblogs.com/Tu9oh0st/p/10360056.html

Spring MVC 4 文件下载实例(带源码)

[本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看.源码下载地址在文章末尾.] [翻译 by 明明如月 QQ 605283073] 原文地址:http://websystique.com/springmvc/spring-mvc-4-file-download-example/ 上一篇:Spring MVC 4 使用常规的fileupload上传文件(带源码) 本文将为你展示通过Spring MVC 4实现文件下载. 下载一个文件比较简单,主要包括下面几个步骤. 创建下

Spring MVC 简述:从MVC框架普遍关注的问题说起

任何一个完备的MVC框架都需要解决Web开发过程中的一些共性的问题,比如请求的收集与分发.数据前后台流转与转换,当前最流行的SpringMVC和Struts2也不例外.本文首先概述MVC模式的分层思想与MVC框架普遍关注的问题,并以此为契机结合SpringMVC的入门级案例简要地从原理.架构角度介绍了它对这些问题的处理,包括请求处理流程.消息转换机制和数据绑定机制等核心问题.最后,本文对目前最为流行的两个MVC框架SpringMVC 和 一. MVC 模式与框架 1.MVC 模式 Java We