文件上传客户端三要素:
1.文件上传项
2.所在表单post提交
3.表单的enctype必须是多部分表单形式"multipart/form-data"
单文件上传步骤:
1.导入pom坐标
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
2.配置文件上传解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxUploadSize" value="500000"></property>
</bean>
3.编写文件上传代码
@RequestMapping(value="/quick23") @ResponseBody //多文件上传 public void save23(String username, MultipartFile uploadFile,MultipartFile uploadFile2) throws IOException { System.out.println(username); System.out.println(uploadFile); String originalFilename = uploadFile.getOriginalFilename(); String originalFilename2 = uploadFile2.getOriginalFilename(); uploadFile.transferTo(new File("d:\\upload\\"+originalFilename)); uploadFile2.transferTo(new File("d:\\upload\\"+originalFilename2)); }
也可以用数组形式:
@RequestMapping(value="/quick24") @ResponseBody //数组实现多文件上传 public void save24(String username, MultipartFile[] uploadFile) throws IOException { System.out.println(username); System.out.println(uploadFile); for (MultipartFile multipartFile:uploadFile) { String originalFilename = multipartFile.getOriginalFilename(); multipartFile.transferTo(new File("d:\\upload\\" + originalFilename)); } }
最后,注意!!!!!!!!!!!!!!!!!!!
定义bean的时候id一定要叫
multipartResolver!!!!!
不可以叫别的名字,找了好久才找到原因!