使用springMVC实现文件上传和下载之文件下载

接上一篇,文件下载需要获取下载文件的存储路径,这里只是手动填入,如果是在具体项目中,可以把文件名和上传后的存储路径保存在数据库中。然后增加一个文件列表的页面展示文件名和文件路径,然后点击下载的时候把相应的文件名和路径传到后台操作。

[java] view plain copy

  1. /**
  2. * 文件下载,需要文件名和文件地址
  3. *
  4. * @author:tuzongxun
  5. * @Title: download
  6. * @[email protected] name
  7. * @[email protected] path
  8. * @[email protected]
  9. * @[email protected] IOException
  10. * @returnResponseEntity<byte[]>
  11. * @date Apr 28,2016 1:21:32 PM
  12. * @throws
  13. */
  14. @RequestMapping(value = "/downLoadFile.do")
  15. public ResponseEntity<byte[]> download(@RequestParam("name") String name,
  16. @RequestParam("filePath") String path) throws IOException {
  17. File file = new File(path);
  18. HttpHeaders headers = new HttpHeaders();
  19. String fileName = new String(name.getBytes("UTF-8"), "iso-8859-1");// 为了解决中文名称乱码问题
  20. headers.setContentDispositionFormData("attachment", fileName);
  21. headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
  22. return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
  23. headers, HttpStatus.CREATED);
  24. }

Html页面,这里只是简单的填写文件名和文件路径,用form表单提交到后台,然后后台会控制response在页面弹出保存文件路径的选择框,当然了,这里的后台我没有做什么处理,如果文件不存在是会报错的,可以进行相应的处理:

[html] view plain copy

  1. 文件下载:
  2. </br> </br>
  3. <form action="./downLoadFile.do"style="border:1px solid grey;width:auto;" method="post">
  4. 文件名:<input type="text" name="name"/></br></br>
  5. 文件路径:<input type="text" name="filePath"/></br></br>
  6. <input type="submit" value="确认下载"/>
  7. </form>

页面视图如下:

如果文件不存在,报错如下:

时间: 2024-10-16 22:59:29

使用springMVC实现文件上传和下载之文件下载的相关文章

SpringMVC:文件上传和下载

SpringMVC:文件上传和下载 准备工作 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作.如果想使用Spring的文件上传功能,则需要在上下文中配置MultipartResolver. 前端表单要求:为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data.只有在这样的情况下,浏览

使用springMVC实现文件上传和下载之环境配置与上传

最近的项目中用到了文件的上传和下载功能,任务分配给了其他的同时完成.如今项目结束告一段落,我觉着这个功能比较重要,因此特意把它提取出来自己进行了尝试. 一. 基础配置: maven导包及配置pom.xml,导包时除开springmvc的基础依赖外,需要导入文件上传下载时用到的commons-io.jsr和commons-fileupload.jar: [html] view plain copy <project xmlns="http://maven.apache.org/POM/4.0

SpringMVC(四)---文件上传与下载

一,文件上传 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作 如果想使用Spring的文件上传功能,则需要在上下文中配置MultipartResolver 1,文件配置及导包 对springmvc-servlet.xml进行文件配置 1 <!--文件上传配置--> 2 <bean id="multipartResolver&qu

SpringMvc文件上传和下载

本篇博客将讲解的是Springmvc的文件上传和下载功能.对于上传功能,我们在项目中是经常会用到的,比如用户注册的时候,上传用户头像,这个时候就会使用到上传的功能.而对于下载,使用场景也很常见,比如我们项目中有个使用说明是是pdf版的,会提供给用户进行下载的功能.相对于来说,这两个功能都是很常见,废话不多说,按照惯例,我们先来看一下本篇博客的目录. 目录 一:搭建SpringMvc开发环境 二:实现文件上传的功能 三:将上传文件绑定到具体的对象上 四 : 实现用户下载的功能 五:总结 一:搭建S

Spring MVC实现文件上传和下载

本篇博客将讲解的是Springmvc的文件上传和下载功能.对于上传功能,我们在项目中是经常会用到的,比如用户注册的时候,上传用户头像,这个时候就会使用到上传的功能.而对于下载,使用场景也很常见,比如我们项目中有个使用说明是是pdf版的,会提供给用户进行下载的功能.相对于来说,这两个功能都是很常见,废话不多说,按照惯例,我们先来看一下本篇博客的目录. 目录 一:搭建SpringMvc开发环境 二:实现文件上传的功能 三:将上传文件绑定到具体的对象上 四 : 实现用户下载的功能 五:总结 一:搭建S

springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)

项目中涉及了文件的上传和下载,以前在struts2下做过,今天又用springmvc做了一遍,发现springmvc封装的特别好,基本不用几行代码就完成了,下面把代码贴出来: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Uplo

SSM框架-SpringMVC 实例文件上传下载

SSM框架-SpringMVC 实例文件上传下载 2017-04-17 09:38 4497人阅读 评论(6) 收藏 举报  分类: java基础(3)  目录(?)[+] 目录(?)[+] 林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 本文工程免费下载 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload

SpringMVC文件上传和下载的实现

SpringMVC通过MultipartResolver(多部件解析器)对象实现对文件上传的支持. MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipartResolver来完成文件的上传工作. 1.使用MultipartResolver对象,在XML中配置Bean. 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://

SpringMVC——拦截器及文件上传和下载

目录 自定义拦截器 拦截器类 在springmvc的配置文件中配置拦截器 文件上传 导入jar包 配置bean:multipartResolver 采用file.Transto 来保存上传的文件 文件下载 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.开发者可以自己定义一些拦截器来实现特定的功能. 过滤器与拦截器的区别:拦截器是AOP思想的具体应用. 过滤器: servlet规范中的一部分,任何java web工程都可以使用 在u