一、单文件上传

  1.导入依赖

  1. <dependency>
  2. <groupId>commons-io</groupId>
  3. <artifactId>commons-io</artifactId>
  4. <version>2.4</version>
  5. </dependency>
  6. <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
  7. <dependency>
  8. <groupId>commons-fileupload</groupId>
  9. <artifactId>commons-fileupload</artifactId>
  10. <version>1.3.1</version>
  11. </dependency>

  2.创建文件上传表单

  1. <form action="/file/fileUpload" method="post" enctype="multipart/form-data">
  2. <input type="file" name="file"/>
  3. 作者: <input type="text" name="author"/>
  4. <input type="submit" value="提交"/>
  5. </form>

  3.构建文件上传控制器

  1. @RequestMapping("/fileUpload")
  2. /**
  3. * MultipartFile 选择的文件
  4. */
  5. public String fileupload(HttpSession session,MultipartFile file,String author) throws IOException {
  6. System.out.println("作者:"+author);
  7. System.out.println(file);
  8. /**
  9. * 如何处理文件
  10. */
  11. if(!file.isEmpty()){
  12. //获取文件名称
  13. String fileName=file..getOriginalFilename();
  14. //获取到需要上传的路径
  15. String realPath = session.getServletContext().getRealPath("/WEB-INF/upload");
  16. //创建文件对象
  17. File uploadfile=new File(realPath+"\\"+fileName);
  18. //如何上传文件
  19. file.transferTo(uploadfile);
  20. }
  21. return "index";
  22. }

  4.注册文件上传解析器

  1. <!--文件上传解析器-->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  3. <!--编码-->
  4. <property name="defaultEncoding" value="UTF-8"/>
  5. <property name="maxUploadSize" value="500000"/>
  6. </bean>

二、多文件上传

  文件上传表单:

  1. <form action="/file/fileUploads" method="post" enctype="multipart/form-data">
  2. <input type="file" name="uploadFiles"/>
  3. <input type="file" name="uploadFiles"/>
  4. <input type="file" name="uploadFiles"/>
  5. 作者: <input type="text" name="author"/>
  6. <input type="submit" value="提交"/>
  7. </form>

  控制器

  1. @RequestMapping("/fileUploads")
  2. /**
  3. * MultipartFile 选择的文件
  4. */
  5. public String fileUploads(HttpSession session,MultipartFile[] uploadFiles,String author) throws IOException {
  6. System.out.println("作者:"+author);
  7. System.out.println(uploadFiles);
  8. /**
  9. * 如何处理文件
  10. */
  11. for (MultipartFile file:uploadFiles){
  12. if(!file.isEmpty()){
  13. //获取文件名称
  14. String fileName=file.getOriginalFilename();
  15. //获取到需要上传的路径
  16. String realPath = session.getServletContext().getRealPath("/WEB-INF/upload");
  17. //创建文件对象
  18. File uploadfile=new File(realPath+"\\"+fileName);
  19. //如何上传文件
  20. file.transferTo(uploadfile);
  21. }
  22. }
  23. return "index";
  24. }

  其余一致

三、文件下载

  后期补

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

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

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

  2. SpringMVC文件上传下载(单文件、多文件)

    前言 大家好,我是bigsai,今天我们学习Springmvc的文件上传下载. 文件上传和下载是互联网web应用非常重要的组成部分,它是信息交互传输的重要渠道之一.你可能经常在网页上传下载文件,你可能 ...

  3. SpringMVC文件上传下载

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

  4. SpringMVC 文件上传下载

    目录 文件上传 MultipartFile对象 文件下载 上传下载示例 pom.xml增加 创建uploadForm.jsp 创建uploadForm2.jsp 创建userInfo.jsp spri ...

  5. SpringMVC整合fastdfs-client-java实现web文件上传下载

    原文:http://blog.csdn.net/wlwlwlwl015/article/details/52682153 本篇blog主要记录一下SpringMVC整合FastDFS的Java客户端实 ...

  6. SpringMVC ajax技术无刷新文件上传下载删除示例

    参考 Spring MVC中上传文件实例 SpringMVC结合ajaxfileupload.js实现ajax无刷新文件上传 Spring MVC 文件上传下载 (FileOperateUtil.ja ...

  7. SpringMVC(三) RESTful架构和文件上传下载

    RESTful架构 REST全名为:Representational State Transfer.资源表现层状态转化.是目前最流行的一种互联网软件架构. 它结构清晰.符合标准.易于理解.扩展方便,所 ...

  8. SpringMVC——返回JSON数据&&文件上传下载

    --------------------------------------------返回JSON数据------------------------------------------------ ...

  9. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

随机推荐

  1. linux下shell 脚本 中windows换行符换成linux换行符

    sed -i 's/\r//' filename window下默认是 \r\n linux下是\n unix下是\r

  2. 第11章:使用Python打造MySQL专家系统

    1.Python语言高级特性 1).深入浅出Python生成器 1).生成器函数:与普通函数定义类似,使用yield语句而不是return语句返回结果.yield语句一次返回一个结果,在每个结果中间挂 ...

  3. linux的定时器(timer_create,timer_gettime,timer_delete,SIGEV_SIGNAL)

    ref : http://blog.chinaunix.net/uid-28458801-id-5035347.html   系统中的一个模块需要频繁的获取系统时间,使用linux中内置的函数开销过大 ...

  4. [转载]机器学习优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam

    [转载]机器学习优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam https://blog.csdn.net/u010089444/article/details/76 ...

  5. C++ STL 之 map

    #include <iostream> #include <map> using namespace std; // map构造函数 // map<T1, T2> ...

  6. java web开发跨域问题

    分布式环境,前后端分离背景下跨域问题 1.1 设置页面document.domain去把2个页面之间的跨域交互统一 一级域名相同的情况下 调用者和页面提供者进行一个协调 页面提供者要在document ...

  7. Yii 2.0 GII 访问404错误

    网上大部分都是普通的开启和配置资料 按照网上资料配置 访问localhost/index/php?r=gii 总是提示404错误 解决方法如下: Yii基础版中的 web.php 代码如下 if (Y ...

  8. mORMot学习笔记 (一)

    官方网站:https://synopse.info/fossil/wiki/Synopse+OpenSource 下载地址:https://synopse.info/fossil/wiki?name= ...

  9. python基础:数据类型阶段总结

    name =“   alex”1.移除name变量对应的值两边的空格,并输出处理结果      res=name.strip(’  ‘)      print(res) 2.判断neme变量对应的值是 ...

  10. Hadoop_29_MapReduce_计数器应用

    在实际生产代码中,常常需要将数据处理过程中遇到的不合规数据行进行全局计数,类似这种需求可以借助mapreduce框架中 提供的全局计数器来实现 示例代码如下: public class MultiOu ...