为什么80%的码农都做不了架构师?>>>   

首先利用Maven引入jar包:

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>

/**
     * 配置文件上传解析器
     * 非Servlet 3.0的容器或者容器不支持StandardServletMultipartResolver用CommonsMultipartResolver替代
     * 因为自己用的tomcat 7.0,所以用CommonsMultipartResolver
     * @return
     * @throws IOException
     */
    @Bean
    public MultipartResolver multipartResolver() throws IOException{
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
        multipartResolver.setDefaultEncoding("UTF-8");
        //设置临时文件路径,不设置的话这个路径就是Servlet容器的临时目录,如:E:\apache-tomcat-7.0.70\work\Catalina\localhost\spittr
        multipartResolver.setUploadTempDir(new FileSystemResource("/tmp/spittr/uploads"));
        //设置所有大小的文件都会写入到磁盘中
        multipartResolver.setMaxInMemorySize(0);
        //设置最大文件上传大小2M
        multipartResolver.setMaxUploadSize(2097152);
        return multipartResolver;
    }

form表单代码:

<form id="testfile" name="testfile" enctype="multipart/form-data" action='<c:url value="testFile"></c:url>' method="post">
        <label for="name">Name:</label>
        <input type="text" name="name" value="myName"/>
        <br />
        <label for="testPicture">Picture:</label>
        <input type="file" name="testPicture" accept="image/jpeg,image/png,image/gif"/>
        <br />
        <input  type="submit" value="submit"/>
    
    </form>

controller 代码:

//文件上传
    @RequestMapping(value="/testFile",method=GET)
    public String toTestFile(){
        return "/web/testUploadForm";
    }
    @RequestMapping(value="/testFile",method=POST)
    public String testFile(
            @Valid User user,Errors errors,
            @RequestParam("testPicture") MultipartFile testPicture
            ) throws IllegalStateException, IOException{
        String name = user.getName();
        System.out.println(name);
        if(errors.hasErrors()){
            System.out.println("errors:"+errors.toString());
        }
        if(testPicture != null){
            System.out.println("OriginalFilename:"+testPicture.getOriginalFilename());
            String location = "/tmp/spittr/uploads/"+testPicture.getOriginalFilename();
            testPicture.transferTo(new File(location));
            user.setPicturePath(location);
        }
        System.out.println(user.getPicturePath());
        return "/web/testUploadForm";
    }

资料参考:《Spring实战(第4版)》

http://www.dexcoder.com/selfly/article/337

转载于:https://my.oschina.net/daigd/blog/758943

SpringMVC 处理multipart形式数据:java方式配置文件上传相关推荐

  1. Springmvc提供的传递数据的方式

    2019独角兽企业重金招聘Python工程师标准>>> Springmvc提供的传递数据的方式 使用request对象的setAttribute方法 在方法中声明一个框架提供的Mod ...

  2. SpringMVC数据校验、文件上传

    SpringMVC数据校验.文件上传 首先在此鸣谢所有本篇博客涉及技术给予我指导的导师,朋友! 目录: 1.文件上传流程: 2.数据校验: 3.本试验遇到的报错问题及解决办法: 4.Java文件源代码 ...

  3. java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  4. Java实现文件上传到服务器(FTP方式)

    Java实现文件上传到服务器(FTP方式) 1,jar包:commons-net-3.3.jar 2,实现代码: //FTP传输到数据库服务器private boolean uploadServerB ...

  5. java ftp文件到服务器配置,Java实现文件上传到服务器(FTP方式)

    Java实现文件上传到服务器(FTP方式) 1,jar包:commons-net-3.3.jar 2,实现代码: //FTP传输到数据库服务器 private boolean uploadServer ...

  6. java 图片服务器 上传_Java实现把图片上传到图片服务器(nginx+vsftp)

    前言: 在我另一篇笔记中已经记载了如何用nginx + vsftp搭建图片服务器(请参考nginx + vsftp搭建图片服务器),并且用vsftp的客户端工具filezilla测试过已经可用.但是在 ...

  7. SSM之SpringMVC 04 —— Ajax、拦截器、文件上传和下载

    系列文章 SSM之SpringMVC 01 -- SpringMVC原理及概念.Hello SpringMVC 注解版和配置版 SSM之SpringMVC 02 -- Controller和RestF ...

  8. java 模拟post上传文件_JAVA模拟HTTP post请求上传文件

    在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较 ...

  9. java ftp 上传文件到服务器,java实现ftp上传文件到服务器

    java实现ftp上传文件到服务器 内容精选 换一换 怎样上传文件到Windows操作系统云服务器?安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ ...

最新文章

  1. java基础知识点_「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
  2. spring beans源码解读之--BeanFactory进化史
  3. {dede:list}和{dede:arclist}的区别
  4. 简述抽象和封装,对你学习Java有一些作用
  5. 论文浅尝 | SenticNet 5: 借助上下文嵌入信息为情感分析发现概念级别的原语
  6. 淘宝美工设计初学必会技能之PSD分层模板
  7. 小甲鱼C语言1-22讲笔记(指针和数组)
  8. 计算机学stata,stata(统计学软件)
  9. 跨考中科院计算机 学硕,【20082P】中国科学院大学心理学考研学硕认知神经科学学姐:放弃保研,跨考二战上岸...
  10. 理解高阶函数,修炼编程内功
  11. 【2022省选模拟】叮叮车——卡特兰数、数位DP
  12. android 开源远程工具项目scrcpy 简单使用
  13. 一篇文章教会你将nfc运用到极致
  14. Android Stuido环境搭建
  15. 案例-站狼云品智美站助力必信空调中国制造领先品牌
  16. Google 2016面试题
  17. springboot 使用 redis 监听 key 的过期回调( 模拟设置订单号超时时间, 触发修改订单状态业务逻辑)
  18. html中文字处理美化的效果,css字体相关样式的处理
  19. 【潇湘菌子】Centos下YAPI安装
  20. Matlab中的DSP应用中的impinvar函数

热门文章

  1. linux驱动:i2c驱动(三)流程图之注册设备
  2. python如何定义类_Python 面向对象
  3. python字典排序方法_Python字典的排序方法一则
  4. Java爬取解析去哪儿景点信息
  5. linux查找项目中的问题,教你如何快速定位项目中慢查询[项目管理]
  6. Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)
  7. runaway深度递归函数测试及相关汇编指令
  8. 关于MySQL的四种事务隔离级别!
  9. CSS之布局(盒子的水平布局)
  10. 深度分析Java的枚举类型——枚举的线程安全性及序列化问题