SpringBoot仍然使用MultipartFile完成文件上传.使用Servlet3中的Part对象完成上传.
文件上传配置 (可选)
spring.http.multipart.enabled=true; // 是否允许处理上传
spring.http.multipart.maxFileSize=1MB; // 允许最大的单文件上传的大小, 可以是KB
spring.http.multipart.maxRequestSize=10MB; // 允许的最大请求大小
HTML测试页
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
</body>
</html>
文件上传控制器
@Controller
public class FileController {
// 获取配置文件中上传路径
@Value("${file.path}")
private String filePath;
@RequestMapping("/upload")
@ResponseBody
public String upload(MultipartFile file) throws Exception{
// 获取扩展名
String extName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
// 生成UUID, 防止文件名重复
String fileName = UUID.randomUUID().toString() + extName;
// 使用FileCopyUtils进行文件上传
FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(new File(filePath + fileName)));
return fileName;
}
}