方法如下:
1、先定义访问地址(只包括协议、ip地址和端口号)
private final String URL = "http://localhost:1111/";
2、通过String path = ClassUtils.getDefaultClassLoader().getResource("文件名").getPath();获取classes下的文件地址
3、连接URL和文件名构造url访问地址,连接path和文件名构造保存路径
@PostMapping("/single")
public JSONResult singleImage(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws FileNotFoundException { //参数名需与前端文件标签名一样
//获取项目classes/static的地址
String path = ClassUtils.getDefaultClassLoader().getResource("static").getPath();
String fileName = file.getOriginalFilename(); //获取文件名
//图片访问URI(即除了协议、地址和端口号的URL)
String url_path = "image"+File.separator+fileName;
log.info("图片访问uri:"+url_path);
String savePath = path+File.separator+url_path; //图片保存路径
log.info("图片保存地址:"+savePath);
File saveFile = new File(savePath);
if (!saveFile.exists()){
saveFile.mkdirs();
}
try {
file.transferTo(saveFile); //将临时存储的文件移动到真实存储路径下
} catch (IOException e) {
e.printStackTrace();
}
//返回图片访问地址
log.info("访问URL:"+URL+url_path);
return JSONResult.ok(URL+url_path);
}