文档章节

spring 4mvc下载文件的实现

zqb666
 zqb666
发布于 2016/07/06 11:31
字数 173
阅读 30
收藏 3
网上找到的版本较老 是spring3的
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 这个spring4 已经弃用

spring 4.x的配置和实现为:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">  
    <property name="messageConverters">  
        <list>  
        <!-- 下载用 -->
            <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>  
            <bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" >  
                <property name = "supportedMediaTypes">  
                    <list>  
                        <value>text/plain;charset=UTF-8</value>  
                    </list>  
                </property>  
            </bean>  
        </list>  
    </property>  
</bean>



@RequestMapping("downloadExcel")
	public ResponseEntity<byte[]> downloadExcel(HttpServletRequest request)
			 {
//		String path = request.getContextPath();
//		String basePath = request.getScheme() + "://" + request.getServerName()
//				+ ":" + request.getServerPort() + path;
		 String realPath = request.getServletContext().getRealPath("/");
		String filepath = realPath + "/admin_files/ordertemplate.xls";
		File file = new File(filepath);
		HttpHeaders headers = new HttpHeaders();
		String fileName = null;
		try {
			fileName = new String("订单模板文件.xls".getBytes("UTF-8"),
					"iso-8859-1");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}// 为了解决中文名称乱码问题
		headers.setContentDispositionFormData("attachment", fileName);
		headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
		try {
			return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
					headers, HttpStatus.CREATED);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}


© 著作权归作者所有

上一篇: JS简洁版下拉树
下一篇: 树形菜单
zqb666
粉丝 3
博文 81
码字总数 30260
作品 0
宁波
私信 提问
SpringMVC框架使用注解执行定时任务

在项目开发过程中,免不了会有一些定时任务。今天就给大家一个SpringMVC框架中利用注解的方式执行定时任务的示例代码 使用到的JAR文件: 点击下列Jar文件会跳到我的网盘下载 aopalliance-1....

Carl_
2015/07/23
1K
0
Spring Boot入门(11)实现文件下载功能

  在这篇博客中,我们将展示如何在Spring Boot中实现文件的下载功能。   还是遵循笔者写博客的一贯风格,简单又不失详细,实用又能让你学会。   本次建立的Spring Boot项目的主要功能为...

但盼风雨来_jc
2018/07/07
0
0
文件的上传和下载--SpringMVC

文件的上传和下载是项目开发中最常用的功能,例如图片的上传和下载、邮件附件的上传和下载等。 接下来,将对Spring MVC环境中文件的上传和下载进行详细的讲解。 一.文件上传 多数文件上传都...

一飞要上天
2018/08/23
0
0
SpringMVC,EasyUI,MyBatis通用导出EXCEL方案求解

本人想实现,通用的基于SpringMVC,EasyUI,MyBatis的EXCEL方案。SpringMVC,REST风格URL,MyBatis使用mapper方式,使用Spring注解。 所有EasyUI datagrid查询对应的都是@ResponseBody方式返回...

小伙伴新手上路
2013/09/27
4K
2
Eclipse搭建Spring开发环境

这篇文章简单介绍下如何利用Eclipse搭建Spring开发环境。 一、软件准备 1. Eclipse, 下载地址:http://www.eclipse.org,可下载3.6版本 2. SpringIde, 有两种安装方法,官网:http://www.spri...

小梅菜鸟
2012/04/26
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

移动开发中的 Web:WebView、WebKit、JSCore、Web 优化、热修复、跨平台、Native、Hybrid……

移动开发领域近年来已经逐渐告别了野蛮生长的时期,进入了相对成熟的时代。而一直以来 Native 和 Web 的争论从未停止,通过开发者孜孜不倦的努力,Web 的效率和 Native 的体验也一直在寻求着...

编辑部的故事
10分钟前
6
0
MySQL8.0.17 - Multi-Valued Indexes 简述

本文主要简单介绍下8.0.17新引入的功能multi-valued index, 顾名思义,索引上对于同一个Primary key, 可以建立多个二级索引项,实际上已经对array类型的基础功能做了支持 (感觉官方未来一定...

阿里云官方博客
56分钟前
5
0
make4.1降级 make-3.81、2错误

在编译 make-3.82 的时候出现如下错误提示 glob/glob.c:xxx: undefined reference to `__alloca'` 修改 /glob/glob.c // #if !defined __alloca && !defined __GNU_LIBRARY__ # ifdef __GNUC......

Domineering
57分钟前
13
0
Rainbond集群的安装和运维的原理

本文将解读Rainbond集群的安装和运维的原理,使用户基本了解Rainbond的安装机制和运维重点,便于用户搭建大型Rainbond集群。 1.Rainbond集群节点概述 1.1 节点分类 属性 类型 说明 manage 管...

好雨云帮
今天
9
0
好程序员大数据学习路线分享UDF函数

1.为什么需要UDF? 1)、因为内部函数没法满足需求。 2)、hive它本身就是一个灵活框架,允许用自定义模块功能,如可以自定义UDF、serde、输入输出等。 2.UDF是什么? UDF:user difine fun...

好程序员官方
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部