zoukankan      html  css  js  c++  java
  • springMVC实现文件下载

    springMVC框架提供了文件下载的功能,具体操作如下:

     1、在springMVC.xml文件中配置ByteArray转换器

    <mvc:annotation-driven conversion-service="conversionServiceFactoryBean" >
        <mvc:message-converters>
            <!--把ByteArray加在Json前面-->
            <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    2、定义controller方法

    @RequestMapping("/exportArrangeCourseInfo")
        public ResponseEntity<byte[]> exportArrangeCourseInfo()throws Exception {
            String pathName = "D:\排课信息.xls";
            File file = new File(pathName);
         String fileName = "教师排课信息.xls"; HttpHeaders headers
    = new HttpHeaders(); //下载显示的文件名,解决中文名称乱码问题 String downloadFielName = new String(filename.getBytes("UTF-8"),"iso-8859-1"); //通知浏览器以attachment(下载方式)打开文件 headers.setContentDispositionFormData("attachment", downloadFielName); //application/octet-stream : 二进制流数据(最常见的文件下载)。 headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); }

    3、页面调用下载链接

    window.location.href="exportArrangeCourseInfo.action"

    这样就可以实现一个简单的文件下载功能了。

    参考:

      http://www.iteye.com/topic/1125784

  • 相关阅读:
    卡片式电脑介绍
    怎样对ListView的项进行排序
    jsp 声明类的使用
    Linux下启用Chrome/Firefox的Java插件
    strcmp函数和strcpy函数
    Python+Django+SAE系列教程9-----Django的视图和URL
    美团面试,面一次,累一次
    关于 Head First SQL 中文版
    Linux 内核的编译系统
    简单的REST的框架实现
  • 原文地址:https://www.cnblogs.com/leilong/p/9037725.html
Copyright © 2011-2022 走看看