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

简介: 基于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<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("上传图片异常,请联系管理员");
    }

效果图如下:

相关文章
|
5天前
ruoyi-nbcio增加websocket与测试页面
ruoyi-nbcio增加websocket与测试页面
12 0
|
6月前
Ruoyi实现单文件上传
Ruoyi实现单文件上传
123 0
|
5天前
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(二)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(二)
20 2
|
5天前
|
前端开发 数据库 对象存储
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(一)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(一)
43 0
|
5天前
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持formdesigner的本地图片上传与回显的功能实现
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持formdesigner的本地图片上传与回显的功能实现
17 2
|
5天前
|
前端开发 对象存储
基于RuoYi-Flowable-Plus的ruoyi-nbcio项目的formdesigner文件上传与回显处理
基于RuoYi-Flowable-Plus的ruoyi-nbcio项目的formdesigner文件上传与回显处理
14 0
|
5天前
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
20 1
|
5天前
|
资源调度 前端开发 NoSQL
ruoyi-nbcio版本从RuoYi-Flowable-Plus迁移过程记录
ruoyi-nbcio版本从RuoYi-Flowable-Plus迁移过程记录
10 1
|
5天前
|
移动开发 前端开发 Java
nbcio-boot项目的文件上传与回显处理方法
nbcio-boot项目的文件上传与回显处理方法
|
5天前
|
SQL 前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(五)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(五)