@Value("${img.upload}")
private String IMG_UPLOAD;
IMG_UPLOAD为服务器中存储文件的位置,可以使用Xshell进入服务器指定存储文件位置使用pwd指令查看,如图所示:
/**
* 上传头像
* @param file 头像文件
* @return
*/
String originalFilename = file.getOriginalFilename();
String totalPath = IMG_UPLOAD;
//为图片更换名字,保证存储图片名唯一
String storedFileName = UUID.randomUUID().toString()+"_"+originalFilename;
logger.info("头像路径{}",totalPath+storedFileName);
//修改保存到服务器的文件名
File files = new File(totalPath+storedFileName);
boolean isExists = files.exists();
logger.info("所要存储的路径是否存在?{}",isExists);
if(isExists){
files.delete();
}
File fi = new File(totalPath);
if(!fi.exists()){
logger.info("{}不存在,创建{}",totalPath,totalPath);
fi.mkdirs();
logger.info("创建成功");
}
try {
file.transferTo(files);
User user = new User();
user.setId(byUsername.getId());
user.setAvatar(totalPath+storedFileName);
/**这里为存库操作*/
} catch (IOException e) {
logger.info("文件上传失败");
}
return Result.ok(totalPath+storedFileName);
}