基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(二)

更多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> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
        Map 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("上传图片异常,请联系管理员");
    }

效果图如下:

基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(二)_第1张图片

你可能感兴趣的:(flowable,若依,ruoyi-nbcio,flowable,若依,ruoyi-nbcio)