首先需要导入jar包

创建一个jsp页面

  1. package cn.happy.Controller;
  2.  
  3. import java.io.File;
  4.  
  5. import javax.servlet.http.HttpSession;
  6.  
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.multipart.MultipartFile;
  10.  
  11. @Controller
  12. public class MyController {
  13. @RequestMapping(value="/first.do")
  14. public String doFirst(HttpSession session,MultipartFile uploadfile ) throws Exception{
  15. if (uploadfile.getSize()>0) {
  16. //获取前半部分路径
  17. String leftpath=session.getServletContext().getRealPath("/images");
  18. //获取文件名称
  19. String filename = uploadfile.getOriginalFilename();
  20. //限制文件类型
  21. if(filename.endsWith(".jpg")||filename.endsWith(".JPG")){
  22. File file=new File(leftpath,filename);
  23. uploadfile.transferTo(file);
  24.  
  25. return "WELCOME.jsp";
  26. }
  27. }
  28.  
  29. return "error.jsp";
  30. }

配置文件:

  1. <!-- 配置包扫描器-->
  2. <context:component-scan base-package="cn.happy.Controller"></context:component-scan>
  3. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
  4.  
  5. <mvc:annotation-driven/>

多文件上传类似于单文件上传 区别在于:

文件下载:

  1. import java.io.File;
  2. import java.io.IOException;
  3.  
  4. import org.apache.commons.io.FileUtils;
  5. import org.springframework.http.HttpHeaders;
  6. import org.springframework.http.HttpStatus;
  7. import org.springframework.http.MediaType;
  8. import org.springframework.http.ResponseEntity;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. @Controller
  12. public class DownFile {
  13. @RequestMapping(value="/download.do")
  14. public ResponseEntity<byte[]> download() throws IOException {
  15. //图片真实路径
  16. File file=new File("D:\\brotherC.jpg");
  17. HttpHeaders headers = new HttpHeaders();
  18. String fileName=new String("brotherC.jpg".getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题
  19. headers.setContentDispositionFormData("attachment", fileName);
  20. headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
  21. return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
  22. }
  23. }

SpringMVC 文件上传及下载的更多相关文章

  1. ExtJS+SpringMVC文件上传与下载

    说到文件上传.下载功能,网络上大多介绍的是采用JSP.SpringMVC或者Struts等开源框架的功能,通过配置达到文件上传.下载的目地.可是最近项目要用到文件上传与下载的功能,因为本项目框架采用开 ...

  2. SpringMVC文件上传和下载的实现

    SpringMVC通过MultipartResolver(多部件解析器)对象实现对文件上传的支持. MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipart ...

  3. SpringMVC文件上传和下载

    上传与下载 1文件上传 1.1加入jar包 文件上传需要依赖的jar包 1.2配置部件解析器 解析二进制流数据. <?xml version="1.0" encoding=& ...

  4. SpringMVC文件上传与下载

    一.关键步骤 ①引入核心JAR文件 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上传的jar包,一个是其所依赖的IO包.这两个jar包,均在Spring支持库的org.apach ...

  5. springMVC文件上传与下载(六)

    1..文件上传 在springmvc.xml中配置文件上传解析器 <!-- 上传图片配置实现类,id必须为这个 --> <bean id="multipartResolve ...

  6. SpringMVC文件上传下载

    在Spring MVC的基础框架搭建起来后,我们测试了spring mvc中的返回值类型,如果你还没有搭建好springmvc的架构请参考博文->http://www.cnblogs.com/q ...

  7. 使用SpringMVC框架实现文件上传和下载功能

    使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...

  8. springmvc文件上传下载简单实现案例(ssm框架使用)

    springmvc文件上传下载实现起来非常简单,此springmvc上传下载案例适合已经搭建好的ssm框架(spring+springmvc+mybatis)使用,ssm框架项目的搭建我相信你们已经搭 ...

  9. springmvc之文件上传、下载

    1.接收到的是图片的流时 //上传头像 @RequestMapping(value = "/uploadHeadSculpture", method = RequestMethod ...

随机推荐

  1. traceroute 命令

    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...

  2. find - exec 命令

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  3. ListView中CheckBox使用问题

    因为CheckBox的点击事件优先级比ListView的高,所以当ListView中使用CheckBox会导致ListView的setOnItemClickListener失去响应. 解决的方法:在C ...

  4. Android使用LinearViewLayout展示数据

    如果要滚动,使用ScrollView来包裹这个LinearViewLayout. ListView控件,自己带有滚动效果的. BaseAdapter LayoutInflater 其他两种绑定方式 A ...

  5. 苹果mac shell 终端 命令行快捷键——行首行尾

    ctrl+a //移到行首 ctrl+e //移到行尾 http://blog.csdn.net/hherima/article/details/47083739

  6. Spring Cloud 微服务三: API网关Spring cloud gateway

    前言:前面介绍了一款API网关组件zuul,不过发现spring cloud自己开发了一个新网关gateway,貌似要取代zuul,spring官网上也已经没有zuul的组件了(虽然在仓库中可以更新到 ...

  7. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office新的App模型         Office 2 ...

  8. iOS --创建文件夹 ,删除文件夹

    //创建文件夹 --> 返回 文件夹 - (NSString *)pathToPatientPhotoFolder { NSString *documentsDirectory = [NSSea ...

  9. iOS表格制作

    由于项目上的需求,需要做一个表格出来,来显示流程状态.刚开始脑子一头雾水,没有一点思路,但是靠着自己的座右铭--“世上无难事,只怕有心人”,克服了所有困难.好,不说了,讲正事. 制作表格,还是需要ta ...

  10. jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色

    jQuery的min版本和原版功能是一样的,min版主要应用于已经开发成的网页中,而非min版 的文件比较大,里面有整洁的代码书写规范和注释,主要应用于脚本开发过程当中. JQuery是继protot ...