第一步:
/**
* 配置多媒体解析器
* 配置多媒体解析器,方法名须为 multipartResolver
*
* @return
*/
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
//设置上传文件的总大小,单位是字节 100MB
resolver.setMaxUploadSize(1024 * 1024 * 100);
//设置每个文件上传的大小,单位是字节 10MB
resolver.setMaxUploadSizePerFile(1024 * 1024 * 10);
return resolver;
}
第二部:在Spring核心配置类中导入多媒体加载器所在的配置类SpringMvcSupport
@Import({SpringMvcSupport.class})
第三步:在Controller层添加请求方法
/**
* 图片上传
*
* @param file
* @param request
* @return
* @throws Exception
*/
@PostMapping("/upload") // 请求路径
public Result upload(MultipartFile file, HttpServletRequest request) throws Exception{
//1.获取项目根路径下 images的具体路径
String path = request.getServletContext().getRealPath("/image");
//2.获取文件的名称
String fileName = file.getOriginalFilename();
//3.将文件名使用UUID进行替换,避免出现重名导致的错误
//3.1获取文件的后缀名
String extName = fileName.substring(fileName.lastIndexOf("."));
//3.2使用UUID生成新的文件名
String newFileName = UUID.randomUUID()+ extName;
//4.将文件进行拷贝
file.transferTo(new File(path+"/"+newFileName));
//5.返回文件路径
return new Result(Code.UPLOAD_OK,"文件上传成功","/images/"+newFileName);
}