一,基础操作上传
使用如下jar包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
客户端
<h1>文件上载</h1>
<FORM ENCTYPE="multipart/form-data"
ACTION="user/upload.do" METHOD="POST">
File to process:<br>
<INPUT NAME="userfile1" TYPE="file"><br>
<INPUT NAME="userfile2" TYPE="file"><br>
<INPUT TYPE="submit" VALUE="Send File">
</FORM>
配置spring解析器
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize"
value="10000000"/>
<property name="defaultEncoding"
value="UTF-8"/>
</bean>
控制器
@RequestMapping("/upload.do")
@ResponseBody
public JsonResult upload(
MultipartFile userfile1,
MultipartFile userfile2) throws Exception{
//Spring MVC 中可以利用 MultipartFile
//接收 上载的文件! 文件中的一切数据
//都可以从 MultipartFile 对象中找到
//获取上再是原始文件名
String file1 =
userfile1.getOriginalFilename();
String file2 =
userfile2.getOriginalFilename();
System.out.println(file1);
System.out.println(file2);
//保存文件的3种方法:
//1. transferTo(目标文件)
// 将文件直接保存到目标文件, 可以处理大文件
//2. userfile1.getBytes() 获取文件的全部数据
// 将文件全部读取到内存, 适合处理小文件!!
//3. userfile1.getInputStream()
// 获取上载文件的流, 适合处理大文件
//保存的目标文件夹: /home/soft01/demo
File dir = new File("D:/demo");
dir.mkdir();
File f1 = new File(dir, file1);
File f2 = new File(dir, file2);
//第一种保存文件
userfile1.transferTo(f1);
userfile2.transferTo(f2);
in2.close();
out2.close();
return new JsonResult(true);
}