@Value("${filepath.imgdir}")
private String imgDir; //存储路径 D:\xxx\
@Value("${filepath.imgurl}")
private String imgUrl; //地址url http://localhost:8080/img/
/**
* 图片上传
*
* @param file
* @return
*/
@RequestMapping(value = "/upload")
public R busupload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return R.error("文件为空");
}
String url;
try {
String fileName = file.getOriginalFilename();
assert fileName != null;
String suffixName = fileName.substring(fileName.lastIndexOf("."));
String uuid = CommonUtils.getUuid();
String saveName = uuid + suffixName;
url = imgUrl + saveName;
CommonUtils.saveFile(file, imgDir, saveName);
} catch (Exception e) {
e.printStackTrace();
return R.error("上传失败");
}
return R.ok().put("url", url);
}
saveFile方法
/**
* 创建文件夹,创建文件
*
* @param file 文件
* @param rootpath 根路径
* @param saveFile 文件名
* @return
*/
public static boolean saveFile(MultipartFile file, String rootpath, String saveFile) {
try {
File dest = new File(rootpath + saveFile);
// ·
if (!dest.getParentFile().exists()) {
boolean mkdirs = dest.getParentFile().mkdirs();
if (!mkdirs) {
return false;
}
}
file.transferTo(dest);
return true;
} catch (IllegalStateException | IOException e) {
return false;
}
}
WebMvc配置文件
@Value("${filepath.imgdir}")
private String imgDir;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/img/**").addResourceLocations("file:" + imgDir);
}