最近由于项目需要,要实现excel文件的下载,通过spring mvc的相关文档,找到了spring mvc支持的文件下载的通用写法,如下所示:
@RequestMapping(value = "download", method = RequestMethod.GET)
public ResponseEntity<byte[]> download(@RequestParam("fileName") String fileName)
throws IOException {
HttpHeaders headers = new HttpHeaders();
String rspName = resourceServerPath + fileName;
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", new String(fileName.getBytes("gb2312"),
"iso-8859-1"));
File file = new File(rspName);
byte[] bytes = FileUtils.readFileToByteArray(file);
try {
if (file.exists()) {
file.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
return new ResponseEntity<byte[]>(bytes, headers, HttpStatus.CREATED);
}
由于是在chrome下开发的,开发完测试没问题,就直接发布出去了。发布后,偶尔会有客户反应在IE浏览器中没法导出文件。今天抽了点时间到IE里面重现,发现确实是自己没有好好在IE环境下测试。经过各方面的咨询,发现是IE浏览器貌似不支持http 201响应码,便马上将返回的响应码改为200,改后的代码如下所示:
return new ResponseEntity<byte[]>(bytes, headers, HttpStatus.OK);
分享到:
相关推荐
这个压缩包文件"Spring MVC 文件上传下载 后端 - Java.zip"包含的文档可能详细阐述了如何在Java后端实现这些功能。以下是关于Spring MVC中文件上传和下载的关键知识点: 1. **Spring MVC 框架**:Spring MVC是...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
Spring MVC、Hibernate和Spring是Java Web开发中的常用框架,它们在现代企业级应用中扮演着核心角色。 Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构。它提供了一个...
总的来说,实现Spring MVC文件上传的进度条功能需要前端和后端的紧密配合。前端负责用户交互和进度信息的显示,后端则需处理分块上传、进度跟踪和异步响应。通过这样的方式,我们可以在不阻塞用户界面的情况下,提供...
在Java Web开发领域,Spring MVC作为Spring框架的一部分,扮演着核心的角色。本教程旨在帮助初学者逐步理解并掌握Spring MVC的使用,构建自己的Web应用程序。 一、Spring MVC概述 Spring MVC是Spring框架的一个模块...
3. **注解驱动的控制器**:Spring MVC 4.0广泛使用了Java注解,如@Controller、@RequestMapping等,使控制器类的定义更加简洁,减少了XML配置。 4. **路径变量**:在@RequestMapping注解中,可以使用路径变量(path...
5. **项目结构**:一个典型的Spring MVC Maven项目结构包括`src/main/java`(存放源代码)、`src/main/resources`(存放配置文件和静态资源)、`src/main/webapp/WEB-INF`(存放`web.xml`配置文件)等。 6. **配置...
Spring MVC 是一个强大的Java web开发框架,用于构建可维护、模块化且松散耦合的Web应用程序。在Spring MVC中,文件的上传和下载是常见的功能需求,这涉及到客户端与服务器之间的数据传输。本篇文章将深入探讨Spring...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建Web应用程序提供模型-视图-控制器(Model-View-Controller)架构。这个框架在Java Web开发中广泛应用,因其强大的功能、良好的可扩展性和易用性而备受赞誉。...
在本文中,我们将深入探讨如何使用Spring MVC和Maven来构建一个Java项目。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Maven则是一个项目管理工具,用于简化构建、依赖管理和项目文档的生成。 *...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(Model-View-Controller)架构的应用程序提供了强有力的支持。这个简易的Spring MVC demo包含了一系列关键知识点,对于初学者来说是很好的...
Spring MVC 是一个基于 Java 的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本压缩包中包含了一系列与Spring MVC相关的jar文件,这些文件是构建和运行Spring MVC项目所...
在 Spring MVC 中, jsp 文件中尽量不要有 Java 代码, 只有 HTML 代码和"迭代(forEach)"与"判断(if)"两个jstl标签. jsp 文件只作为渲染(或称为视图 View)模板使用. 好了, 我们开始吧. 首先我们需要一个放在 WEB-INF...
Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者能够轻松地开发出复杂的 Web 应用。 #### Spring Web MVC 的新...
**Apache Commons**:Spring MVC 开发中可能会用到 Apache Commons 的一些工具库,例如 `commons-logging.jar` 用于日志记录,`commons-fileupload.jar` 用于文件上传,`commons-lang3.jar` 提供了一些实用的 Java ...
Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它在Spring框架的基础上,为处理HTTP请求提供了模型-视图-控制器(MVC)架构。在Spring MVC中实现文件的上传和下载是常见的...
Java Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,用于构建可维护、可扩展的 MVC(Model-View-Controller)应用程序。Spring MVC 提供了强大的依赖注入(Dependency ...
在Java编程领域,Spring MVC框架是开发Web应用的常用工具,而搜索引擎技术则是处理大量数据、提供高效查询能力的关键技术。本项目结合了这两者,实现了基于Java Spring MVC的搜索功能,旨在帮助开发者构建自己的搜索...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。Spring MVC的设计目标是提供一个清晰的组件化架构,使得开发者可以独立地开发和测试控制器、...