`

springMVC实现下载文件

阅读更多
1、前台代码
<a href="javascript:void(0);" ng-click="exportFile()" title="导出"><i class="icon-download-alt"></i></a>

$scope.exportFile = function() {
    	var temp ={};
        temp.path = "aaa/bbb.txt"
        $http({
            url: contextPath+'/conf/download',
            method: "POST",
            data: JSON.stringify(temp),
            cache: false
        }).success(function(data, status, headers) {
            var octetStreamMime = 'application/octet-stream';
            // Get the headers
            headers = headers();
 
            // Determine the content type from the header or default to "application/octet-stream"
            var contentType = headers['content-type'] || octetStreamMime;


            try
            {
                // Try using msSaveBlob if supported
                console.log("Trying saveBlob method ...");
                var blob = new Blob([data], {type: contentType});
                saveAs(blob, "filename.txt");//这里文件名写死了,可换成需要的文件名
            } catch(ex)
            {
                console.log("saveBlob method failed with the following exception:");
                console.log(ex);
            }
        });
    };

前端使用angularJS、FileSaver.js [url] https://github.com/eligrey/FileSaver.js [/url]

2、后台代码
@RequestMapping(method = RequestMethod.POST,value="/conf/download")
    public ResponseEntity<byte[]> download(@RequestBody Map<String,Object> params){
    	
    	String path = (String)params.get("path");
    	
    	File file = mappingService.getFile(path,type);
    	
    	HttpHeaders headers = new HttpHeaders(); 
    	headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); 
    	headers.setContentDispositionFormData("attachment",path);
    	return new ResponseEntity<byte[]>(RequestUtil.getBytesFromFile(file),headers,HttpStatus.CREATED);
    }

3、配置文件
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
<!--byte数组传输文件-->
                <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
                <bean class = "org.springframework.http.converter.StringHttpMessageConverter">   
                    <property name = "supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>   
                        </list>   
                    </property>   
                </bean>   
            </list>
        </property>
    </bean>

分享到:
评论

相关推荐

    基于springmvc实现文件上传下载 基于AOP的日志功能

    基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...

    IDEA SpringMVC 实现文件的上传下载

    在SpringMVC框架中,实现文件的上传与下载是常见的需求。IntelliJ IDEA作为流行的Java开发集成环境,为开发者提供了高效便捷的开发体验。在这个项目中,我们使用IDEA来构建一个基于SpringMVC的系统,实现了文件的...

    springmvc文件下载

    本篇将详细探讨如何利用SpringMVC结合EasyUI实现文件下载功能,并着重讲解SpringMVC中的注解技术。 首先,SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构模式的实现,简化了Java Web应用程序...

    SpringMVC 实现文件上传下载、国际化等

    本教程将深入讲解如何利用SpringMVC实现文件上传和下载功能,以及如何实现应用的国际化。下面我们将详细探讨这些知识点。 **一、SpringMVC文件上传** 在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver...

    netty整合SpringMVC实现下载

    通过以上步骤,我们可以利用 Netty 的高性能特性处理网络通信,结合 SpringMVC 的 MVC 模式来处理业务逻辑,实现高效的文件下载服务。这种整合方式尤其适用于大文件下载或高并发场景,能充分利用硬件资源,提升用户...

    springmvc实现demo

    在本项目"springmvc实现demo"中,我们将探讨如何使用 Spring MVC 实现Web应用,包括注解和非注解两种方式,并且数据库环境为 MySQL。 1. **Spring MVC 架构** Spring MVC 提供了一个分层架构,主要包括 ...

    JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告.docx

    本实验报告将详细阐述如何利用SpringMVC实现文件上传与下载的功能。 首先,文件上传的核心在于HTML表单(form)的正确配置。在创建用于上传文件的表单时,需要指定`enctype`属性为`multipart/form-data`。这是因为...

    SpringMVC框架实现文件的上传和下载

    在SpringMVC框架中,文件的上传和下载是常见的功能需求,主要用于处理用户的数据交互,例如用户上传图片、文档等,或者系统提供文件下载服务。本文将深入探讨如何使用SpringMVC来实现这一功能。 首先,我们需要理解...

    Spring下的子框架SpringMVC实现单个文件上传功能

    在开始实现文件上传功能之前,我们需要做一些准备工作,包括添加必要的依赖、配置文件上传解析器等。 ##### 1. 添加依赖 为了支持文件上传,首先需要在项目的构建文件(如`pom.xml`或`build.gradle`)中添加`...

    基于easyui+springmvc实现的文件管理系统

    【标题】:“基于EasyUI+SpringMVC实现的文件管理系统” 在现代企业信息化管理中,文件管理系统扮演着至关重要的角色,它能够有效地组织、存储、检索和管理企业内部的各类文档,提高工作效率,保证信息的安全性。本...

    SpringMVC实现文件上传下载

    以下将详细介绍如何利用SpringMVC实现文件上传、下载以及文件列表展示和删除。 **一、文件上传** 1. **配置MultipartResolver**:SpringMVC默认不支持文件上传,我们需要添加`CommonsMultipartResolver`作为解析器...

    SpringMVC上传下载异常处理

    本文档主要介绍了SpringMVC的ModelAndView机制,使用SpringMVC实现文件上传,下载以及全局异常处理机制

    springMVC文件下载代码

    在这个实例中,我们将探讨如何在SpringMVC中实现文件的下载功能。文件上传和下载是Web应用中常见的需求,对于用户交互和数据交换至关重要。 首先,我们需要理解SpringMVC的工作原理。它基于Model-View-Controller...

    springmvc实现上传文件到七牛云

    在本项目中,我们利用 SpringMVC 实现了文件上传的功能,并将这些文件存储到七牛云存储服务上。 首先,我们需要了解 SpringMVC 中的文件上传机制。在 SpringMVC 中,文件上传是通过 `CommonsMultipartResolver` ...

    webuploader+springMVC实现大文件上传.zip

    总的来说,这个项目展示了如何结合WebUploader和SpringMVC实现高效、可靠的大文件及多文件上传功能,为开发者提供了一个实用的参考示例。通过学习和理解这些知识点,开发者可以构建自己的文件上传系统,满足各种复杂...

    springmvc框架的文件上传 下载

    在这个项目"springmvc框架的文件上传 下载"中,你可能会遇到如404错误等常见问题,下面将详细介绍SpringMVC中文件上传和下载的实现及其可能遇到的问题。 **文件上传** 1. **配置**: 首先,你需要在`dispatcher-...

    SpringMVC demo 完整源码实例下载.zip

    SpringMVC提供MultipartFile接口处理文件上传,而文件下载则可以通过StreamingResponseBody或者直接返回文件路径实现。这些功能的实现涉及了流处理和响应头设置,确保了文件传输的正确性和效率。 异常处理在Web应用...

    springmvc实现的简单用户管理系统

    本项目是使用SpringMVC实现的一个简单的用户管理系统,非常适合初学者学习和理解SpringMVC的工作原理。 1. **SpringMVC基本架构** SpringMVC的核心组件包括DispatcherServlet(前端控制器)、HandlerMapping...

    SpringMVC实现文件下载功能

    SpringMVC实现文件下载功能详解 在本文中,我们将详细介绍如何使用SpringMVC框架实现文件下载功能。文件下载是Web应用程序中的一种常见功能,用于提供用户下载文件的能力。本文将从基本概念到实现细节,全方位介绍...

    SpringMVC文件增删改查(上传、更新、下载、删除)

    在SpringMVC框架中,文件操作是常见的功能需求,包括文件的上传、下载、更新和删除。本项目提供了完整的解决方案,覆盖了这些功能点。以下将详细解释这些知识点。 一、文件上传 在SpringMVC中,文件上传主要依赖于`...

Global site tag (gtag.js) - Google Analytics