zoukankan      html  css  js  c++  java
  • springmvc上传文件

    SpringMVC文件上传

    思路

    SpringMvc的文件上传时通过MultipartResolver(Multipart解析器)处理的,对于MultipartResolver而言它只是一个接口,它有两个实现类

    • CommonsMultipartResolver:依赖于Apache下的jakarta Common FileUpload 项目解析Multipart请求,可以在Spring各个版本中使用,只是它要依赖于第三方包才得以实现,后面的案例中使用这个-

      <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.4</version>
      </dependency>
      
    • StandardServletMultipartResolver:是Spring3.1版本后的产物,它依赖于Servlet3.0或者更高版本的实现,它不用依赖于第三方包

    第一种实现基于CommonsMultipartResolver

    • 在SpringMvc配置文件中配置MultipartResolver,"multipartResolver"是Spring约定好的名字不可以修改.

      <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver">
          <property name="defaultEncoding" value="utf-8"/>
          <property name="maxUploadSize" value="#{10*1024*1024}"/>
      </bean>
      
    • 上传文件表单

      <form action="/test" enctype="multipart/form-data" method="post">
          头像<input type="file" name="headimg">
          <br>
          <input type="submit" value="提交">
      </form>
      
    • 处理请求的Controller

      @RequestMapping(value = "/test",method = RequestMethod.POST)
      public String test(@RequestParam("headimg") MultipartFile file) throws IOException {
          File file1 =new File("D:/"+file.getOriginalFilename());//创建file对象
          file.transferTo(file1);//将接受的文件存储
          return "success";
      }
      

    tomcat启动后测试就可以看到文件上传成功了

    第二种基于StandardServletMultipartResolver

    • springmvc配置文件

      <bean class="org.springframework.web.multipart.support.StandardServletMultipartResolver" id="multipartResolver">
      </bean>
      
    • web.xml配置

      <servlet>
          <servlet-name>dispatcherServlet</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath:springmvc.xml</param-value>
          </init-param>
          <multipart-config>
              <location>D:/</location>
              <max-request-size>5242880</max-request-size>
              <file-size-threshold>20000000</file-size-threshold>
          </multipart-config>
      </servlet>
      

    然后写好表单和Controller,就可以测试了

  • 相关阅读:
    java8学习之Collector复合与注意事项
    动画学习之WIFI图形绘制
    java线程基础巩固---多线程死锁分析,案例介绍
    java8学习之Collector同一性与结合性分析
    java8学习之Collector源码分析与收集器核心
    java8学习之Stream分组与分区详解
    kotlin面向对象之抽象类、继承、多态
    matplotlib-曲线和折线案例
    人口、人口密度分析项目-条形图
    开机自启:bat实现一次性打开win7中的常用软件和文件夹
  • 原文地址:https://www.cnblogs.com/huameixiao/p/15050534.html
Copyright © 2011-2022 走看看