@RequestMapping("/test/up")
public String testUp(MultipartFile photo,HttpSession session) throws IOException {
//获取上传文件的文件名
String fileName=photo.getOriginalFilename();
//获取上传的文件的后缀名
String hzName =fileName.substring(fileName.lastIndexOf("."));
//获取uuid
String uuid= UUID.randomUUID().toString();
//拼接一个新的文件名
fileName= uuid+hzName;
//获取ServletContext对象
ServletContext servletContext = session.getServletContext();
String photoPath = servletContext.getRealPath("photo");
//创建photoPath所对应的File对象
File file = new File(photoPath);
//判断file是否存在
if(!file.exists()){
file.mkdir();
}
String finalPath=photoPath+File.separator+fileName;
//上传文件
photo.transferTo(new File(finalPath));
return "success";
}
<form th:action="@{/test/up}" method="post" enctype="multipart/form-data">
头像:<input type="file" name="photo">
<input type="submit"value="上传">
</form>
所需要的依赖以及spring配置
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!--必须通过文件解析器的解析才能将文件转换为MultipartFile对象-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>