前端上传文件传参multipartfile file_使用MultipartFile上传文件
之前做一个项目,需要修改头像,总结一下。文件上传方式:表单上传,ajax上传,插件上传等三种方式。使用MultipartFile上传文件1、介绍:springmvc官方提供的一个比较完善的文件上传组件。下面是它的两个实现类:org.springframework.web.multipart.commons.CommonsMultipartFileorg.springframework.mock..
·
之前做一个项目,需要修改头像,总结一下。文件上传方式:表单上传,ajax上传,插件上传等三种方式。
使用MultipartFile上传文件
1、介绍:springmvc官方提供的一个比较完善的文件上传组件。下面是它的两个实现类:
org.springframework.web.multipart.commons.CommonsMultipartFile
org.springframework.mock.web.MockMultipartFile
2、使用
加入依赖
<dependency>
<groupId>commons-io</greadId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commos-fileupload</groupId>
<artifactId>commos-fileupload</artifactId>
<version>1.4</version>
</dependency>
注意:前端传数据的时候要使用multipart/form-data格式来发送,不然后台无法接收到数据。
前端代码
1)如果是form表单的话,在form标签中加入 enctype="multipart/form-data"
<form action="/demo/uploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="meFile" /><p>
<input type="submit" value="提交" /><p>
<input type="reset" value="清空" /><p>
</form>
2)上传多文件的话,需要加入multiple="multiple"
<form action="/demo/uploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="meFile" multiple="multiple" /><p>
<input type="submit" value="提交" /><p>
<input type="reset" value="清空" /><p>
</form>
3)上传文件夹的话,需要加入 webkitdirectory directory
<form action="/demo/uploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="meFile" webkitdirectory directory /><p>
<input type="submit" value="提交" /><p>
<input type="reset" value="清空" /><p>
</form>
后端代码
1)单文件上传
@RequestMapping("/uploadFile")//上传文件
public String UploadTheme(MultipartFile meFile,Model model){
if (meFile != null) {
System.out.println(meFile.getContentType());//在控制台打印文件的类型
System.out.println(meFile.getName());//返回文件的名称
System.out.println(meFile.getOriginalFilename());//返回文件的原文件名
try {
// 存放到一个位置
meFile.transferTo(new File("E:/temp/"+UUID.randomUUID()+meFile.getOriginalFilename()));
} catch (IllegalStateException e) {
e.printStackTrace();
model.addAttribute("msg", "上传失败");
return "/error.html";
} catch (IOException e) {
e.printStackTrace();
model.addAttribute("msg", "上传失败");
return "/error.html";
}
}
model.addAttribute("msg", "上传成功");
return "index";
}
2)多文件上传
@RequestMapping("/temp")
public String UploadFile(HttpServletRequest request,Model model){
CommonsMultipartResolver cResolver = new CommonsMultipartResolver();
if (cResolver.isMultipart(request)) {
MultipartHttpServletRequest httpservletrequest = (MultipartHttpServletRequest) request;
List<MultipartFile> list = httpservletrequest.getFiles("meFile");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getOriginalFilename());
System.out.println(list.get(i).getContentType());
try {
list.get(i).transferTo(new File("D:/temp/"+UUID.randomUUID()+list.get(i).getOriginalFilename()));
} catch (IllegalStateException e) {
e.printStackTrace();
model.addAttribute("msg", "上传失败");
return "/error.html";
} catch (IOException e) {
e.printStackTrace();
model.addAttribute("msg", "上传失败");
return "/error.html";
}
}
}
model.addAttribute("msg", "上传成功");
return "index";
}
更多推荐
已为社区贡献5条内容
所有评论(0)