SpringMVC笔记(3)---文件的上传方式


1.SpringMVC的请求-文件上传-客户端表单实现(应用)

文件上传客户端表单需要满足:

  1. 表单项:type = “file”
  2. 表单的提交方式是post
  3. 表单的enctype属性是多部分表单形式,及enctype = “multipart/form-data”
<form action="${pageContext.request.contextPath}/user/quick" method="post" enctype="multipart/form-data">
        名称<input type="text" name="username"><br/>
        文件1<input type="file" name="uploadFile"><br/>
        <input type="submit" value="提交">
</form>

2.文件上传-单文件上传代码实现

  1. 添加依赖
    <dependency>
       <groupId>commons-fileupload</groupId>
       <artifactId>commons-fileupload</artifactId>
       <version>1.3.1</version>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
       <version>2.3</version>
     </dependency>
  2. 配置多媒体解析器
    <!--配置文件上传解析器-->
     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
         <property name="defaultEncoding" value="UYF-8"/>
         <property name="maxUploadSize" value="500000"/>
     </bean>
  3. 后台程序
    @RequestMapping(value="/quick")
     @ResponseBody
     public void save22(String username, MultipartFile uploadFile) throws IOException {
         System.out.println(username);
            System.out.println(uploadFile);
     }

    4.多文件上传代码实现

    将页面修改为多个文件上传项,将方法参数MultipartFile类型修改为MultipartFile[]
    @@RequestMapping(value="/quick")
     @ResponseBody
     public void save23(String username, MultipartFile[] uploadFile) throws IOException {
         System.out.println(username);
         for (MultipartFile multipartFile : uploadFile) {
             String originalFilename = multipartFile.getOriginalFilename();
             multipartFile.transferTo(new File("C:\\upload\\"+originalFilename));
         }
     }
     }

  目录