`
happyqing
  • 浏览: 3204823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring MVC通用文件下载

阅读更多

写个通用类

通过response实现下载

这样写有个好处,那就是通用,其他不用spring MVC的也可以用 

/**
 * 
 * @param request
 * @param response
 * @param filePath 文件全路径 
 * @param contentType (mimeType)默认可传application/octet-stream
 * @param realName 下载时显示的文件名
 * @throws Exception
 */
public static void download(HttpServletRequest request, HttpServletResponse response, String filePath, String contentType, String realName) throws Exception {
	// request.setCharacterEncoding("UTF-8");
	// String ctxPath = request.getSession().getServletContext().getRealPath("/") + FileUtil.UPLOADDIR;
	if(filePath.indexOf("..")!=-1){
		throw new IOException("文件名不合规,含有相对定位符!");
	}
	long fileLength = new File(filePath).length();

	response.setContentType(contentType); // "application/octet-stream"
	response.setHeader("Content-disposition", "attachment; filename=" + new String(realName.getBytes("GBK"), "ISO-8859-1"));

	response.setHeader("Content-Length", String.valueOf(fileLength));

	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filePath));
	BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
	byte[] buff = new byte[2048];
	int bytesRead;
	while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
		bos.write(buff, 0, bytesRead);
	}
	bis.close();
	bos.close();
}

 

分享到:
评论

相关推荐

    spring MVC .docx

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要...在提供的文档"spring MVC .docx"中,应该包含了关于这些知识点的详细解释和示例代码,帮助读者更好地理解和应用Spring MVC框架。

    Spring mvc5.0.3 所有jar包

    9. **拦截器(Interceptor)**: Spring MVC允许自定义拦截器,可以在请求处理前或后执行一些通用逻辑,如权限检查、日志记录等。 10. **异常处理**: 可以全局或局部地配置异常处理器,将异常转换为特定的视图或HTTP...

    Spring MVC示例

    综上所述,这个"Spring MVC示例"项目是一个完整的Web应用程序实例,涵盖了Spring MVC的核心功能,以及附加的定时任务和文件操作功能。开发者可以通过研究这个示例,深入了解Spring MVC的工作原理和实践方法。

    Java通用管理系统(easyui、 hibernate、 spring mvc、 spring、 maven、 mysql)

    系统主要采用了以下技术栈:EasyUI、Hibernate、Spring MVC、Spring、Maven和MySQL,这些都是Java开发中的重要工具和框架。 1. **EasyUI**:这是一个基于jQuery的前端UI库,提供了丰富的组件,如表格、下拉框、树形...

    spring mvc step by step,例子

    2. **配置Spring MVC**:在`web.xml`中配置`DispatcherServlet`,并添加Spring MVC的配置文件,如`spring-mvc.xml`,在这里定义视图解析器、拦截器、bean等。 3. **编写Controller**:创建一个控制器类,使用`@...

    Spring mvc工程所需jar包资源

    13. **commons-fileupload.jar**: 用于处理HTTP文件上传请求,如果你的Spring MVC应用需要接收用户的文件上传,这个库是必不可少的。 14. **commons-lang3.jar**: Apache Commons Lang库,提供了很多Java语言工具类...

    Spring3、 Hibernate4、 Spring mvc3 通用后台管理系统

    在Spring3中,它进一步完善了DI和AOP的功能,提供了更丰富的注解支持,使得配置文件更加简洁,减少了XML配置。此外,Spring3加强了对JSR-303(Java Bean Validation)的支持,提供了数据验证功能。还有,Spring3引入...

    spring+spring mvc + mybatis

    6. **配置文件**:Spring的配置文件(如`applicationContext.xml`)中会定义bean并设置其依赖关系,Spring MVC的配置文件(如`servlet-context.xml`)会配置DispatcherServlet、视图解析器等。MyBatis的配置文件(`...

    SpringMVC文档.zip_spring mvc

    - 这个文档可能提供了一个使用Spring MVC实现用户管理功能的实际案例,涉及到用户注册、登录、权限控制等常见功能。 5. **Spring MVC 3.x annotated controller的几点心得体会** - 作者可能分享了在实际开发中...

    spring学习: spring mvc上传文件方法分析

    在Spring MVC中,文件上传是常见的功能之一,用于接收用户通过表单提交的文件数据。本文将深入探讨Spring MVC中的文件上传方法,并基于提供的“spring学习:spring mvc上传文件方法分析”标题进行详细的解析。 首先...

    spring-mvc jar包

    在pom.xml或build.gradle文件中添加对应的依赖,即可将"spring-mvc"整合到项目中。 总的来说,Spring MVC提供了一套强大且灵活的机制,帮助开发者构建可维护性高、扩展性强的Web应用。通过学习和实践,初学者能够...

    spring mvc 所需jar包

    在Spring MVC中,它可以用来加载配置文件,提供全局服务。 4. **spring-core.jar**:Spring框架的基础核心类库,包含IoC(Inversion of Control,控制反转)和依赖注入(Dependency Injection,DI)的基础实现,是...

    JavaSpringMvc的jar包

    2. **配置 Spring MVC**:编写 `web.xml` 文件,声明 DispatcherServlet 并配置 Spring MVC 的前端控制器。 3. **定义 Controller**:创建 Java 类并使用 `@Controller` 注解,编写处理 HTTP 请求的方法。 4. **配置...

    通用开发平台(spring mvc + spring + bootstrap + hibernate)

    在压缩包中,"通用开发平台(spring mvc + spring + bootstrap + hibernate)"可能包含了项目的源代码、配置文件、数据库脚本、静态资源等,供开发者参考学习或者直接应用于自己的项目。通过研究这些文件,开发者...

    spring mvc+mybaties框架

    在实际项目中,"springmvc"这个文件可能包含了Spring MVC的相关配置、Controller类、Service层接口及其实现、Mapper接口和XML配置文件等。通过这些文件,我们可以进一步了解项目的具体实现细节,例如URL路由规则、...

    spring mvc 依赖包

    在这个“spring mvc 依赖包”中,包含了两个关键的库文件: 1. `com.springsource.org.aopalliance-1.0.0.jar`: 这是AOP(面向切面编程)联盟的库,提供了切面编程的基本接口。在Spring框架中,AOP被用来实现如日志...

    spring MVC (spring hibernate huimeihui)

    Spring MVC、Spring 和 Hibernate 是Java开发中非常重要的三个框架,它们在构建企业级Web应用程序时起着关键作用。本文将详细介绍这三个技术以及它们如何协同工作。 Spring MVC 是 Spring 框架的一个模块,专为创建...

    Mastering Spring Webmvc

    Spring MVC支持文件上传和下载功能。通过MultipartFile接口处理上传的文件,而文件下载则可以通过StreamingResponseBody或HttpHeaders设置响应头来实现。 十、RESTful API Spring MVC可以轻松地创建RESTful服务,...

    spring mvc+mybatis封装

    - **配置文件**:对Spring MVC和MyBatis的配置文件进行优化,简化配置,提高可读性。 5. **tramDemo**:这个可能是项目名称或示例名,具体细节未给出,但通常一个完整的 tramDemo项目会包含以下部分: - src/main...

Global site tag (gtag.js) - Google Analytics