更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio
演示地址:RuoYi-Nbcio后台管理系统
排除路径,增加avatar图片
# security配置
security:
# 排除路径
excludes:
# 静态资源
- /*.html
- /**/*.html
- /**/*.css
- /**/*.js
# 公共路径
- /favicon.ico
- /error
# swagger 文档配置
- /*/api-docs
- /*/api-docs/**
# actuator 监控配置
- /actuator
- /actuator/**
#third login
- /sys/thirdLogin
- /sys/thirdLogin/**
- /system/auth
- /system/auth/**
#avatar图片
- /profile
- /profile/**
2、同时支持本地与oss的上传图片功能实现如下:
/**
* 头像上传
*
* @param avatarfile 用户头像
*/
@Log(title = "用户头像", businessType = BusinessType.UPDATE)
@PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
Map<String, Object> ajax = new HashMap<>();
if (!avatarfile.isEmpty()) {
String extension = FileUtil.extName(avatarfile.getOriginalFilename());
if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) {
return R.fail("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式");
}
if(Constants.UPLOAD_TYPE_LOCAL.equals(uploadtype)) {
// 上传文件路径
String filePath = RuoYiConfig.getAvatarPath();
// 上传并返回新文件名称
String fileName = null;
try {
fileName = localfilehttp + FileUploadUtils.upload(filePath, avatarfile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (userService.updateUserAvatar(getUsername(), fileName)) {
ajax.put("imgUrl", fileName);
// 更新缓存用户头像
return R.ok(ajax);
}
}
else {
SysOssVo oss = iSysOssService.upload(avatarfile);
String avatar = oss.getUrl();
if (userService.updateUserAvatar(getUsername(), avatar)) {
ajax.put("imgUrl", avatar);
return R.ok(ajax);
}
}
}
return R.fail("上传图片异常,请联系管理员");
}
效果图如下: