[技术分享]20180109_Spring mvc _ spring mvc文件上传
这里我想说的重点是:这个方法file.transferTo(newFile) ,不用再去手写文件上传了,直接用这个方法即可
下面是Jsp
<form name="Form2" action="/SpringMVC006/fileUpload2" method="post" enctype="multipart/form-data">
<h1>采用multipart提供的file.transfer方法上传文件</h1>
<input type="file" name="file">
<input type="submit" value="upload"/>
</form>
如果使用的是ajax的方式提交,需要注意三个参数。
udesk.ajax('rest/xxx/xxx',{
method:'post',
contentType:false,
processData:false,
data:new FormData($('#id')[0]);
success:function(Map){
//do something
}
});
要注意标注的这个注解 @RequestParam("file")
@RequestMapping("fileUpload2")
public String fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException {
long startTime=System.currentTimeMillis();
System.out.println("fileName:"+file.getOriginalFilename());
String path="E:/"+new Date().getTime()+file.getOriginalFilename();
File newFile=new File(path);
//通过CommonsMultipartFile的方法直接写文件(注意这个时候)
file.transferTo(newFile);
long endTime=System.currentTimeMillis();
System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");
return "/success";
}