springboot上传头像
@Controller
@RequestMapping("/upload")
public class UploadController {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private UserMapper userMapper;
@ResponseBody
@PostMapping(value = "/image")
public JsonResult imgUpload(@RequestParam(value = "file") MultipartFile file,String userNumber) {
if (null==userMapper.queryByUserNumber(userNumber)) {
throw new ImcsUserCenterException("该用户不存在!");
}
if (file.isEmpty()) {
throw new ImcsUserCenterException("头像文件不能为空!");
}
String fileName = file.getOriginalFilename();
String suffixName = fileName.substring(fileName.lastIndexOf("."));
String folder = "/" + LocalDateTimeUtils.formatNow("yyyyMMdd") + "/";
fileName = System.currentTimeMillis() + suffixName;
File dest = ImgUtil.createFile(PathsUtils.getAbsolutePath(ConfigConstValue.rootPath + folder + fileName));
try {
file.transferTo(dest);
// 上面是保存图片,先让它保存成功然后再修改数据库
String fileUrl = folder + fileName;
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("fileUrl",fileUrl);
paramMap.put("userNumber",userNumber);
userMapper.insertImg(paramMap);
} catch (IOException e) {
logger.error(e.getMessage(), e);
ErrUtils.err(ApiResultEnum.FILE_UPLOAD_ERR);
}
return JsonResultBuilder.successMessage(ConfigConstValue.prePath + folder + fileName);
}
}
欢迎转载,转载请标注出处。关注公众号: JAVA大师, 后台回复 资源,既可获取资源链接 !!!