ruoyi-vue-plus项目 minio外网访问配置

简介

无需改动前端代码,只需加一个自定义域名即可。java端代码是为了解决数据库存得地址不一致问题

如下:

1.管理页面设置

2.nginx配置

复制代码
location ^~ /golf-ai {
    proxy_pass http://192.168.1.98:9000;

    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Connection "";

    proxy_buffering off;
    proxy_request_buffering off;
    client_max_body_size 0;

    add_header X-Cache $upstream_cache_status;
    add_header Cache-Control no-cache;
}

3. java后端改代码

复制代码
  // 提取上传结果中的 ETag,并构建一个自定义的 UploadResult 对象
            return UploadResult.builder().url(getUrl() + StringUtils.SLASH + key).filename(key).eTag(eTag).build();

改为

            // 提取上传结果中的 ETag,并构建一个自定义的 UploadResult 对象
            return UploadResult.builder().url(getStorageUrl() + StringUtils.SLASH + key).filename(key).eTag(eTag).build();
  • SysOssServiceImpl.java文件,修改1

    复制代码
      @Override
      public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
          if (isValid) {
              // 做一些业务上的校验,判断是否需要校验
          }
          List<SysOss> list = baseMapper.selectByIds(ids);
          for (SysOss sysOss : list) {
              OssClient storage = OssFactory.instance(sysOss.getService());
              storage.delete(sysOss.getUrl());
          }
          return baseMapper.deleteByIds(ids) > 0;
      }

    改为

    复制代码
      @Override
      public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
          if (isValid) {
              // 做一些业务上的校验,判断是否需要校验
          }
          List<SysOss> list = baseMapper.selectByIds(ids);
          for (SysOss sysOss : list) {
              OssClient storage = OssFactory.instance(sysOss.getService());
              storage.delete(sysOss.getFileName());
          }
          return baseMapper.deleteByIds(ids) > 0;
      }
  • SysOssServiceImpl.java文件,修改2

    复制代码
      /**
       * 桶类型为 private 的URL 修改为临时URL时长为120s
       *
       * @param oss OSS对象
       * @return oss 匹配Url的OSS对象
       */
      private SysOssVo matchingUrl(SysOssVo oss) {
          OssClient storage = OssFactory.instance(oss.getService());
          // 仅修改桶类型为 private 的URL,临时URL时长为120s
          if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) {
              oss.setUrl(storage.createPresignedGetUrl(oss.getFileName(), Duration.ofSeconds(120)));
          }
          return oss;
      }

    改为

    复制代码
      /**
       * 桶类型为 private 的URL 修改为临时URL时长为120s
       *
       * @param oss OSS对象
       * @return oss 匹配Url的OSS对象
       */
      private SysOssVo matchingUrl(SysOssVo oss) {
          OssClient storage = OssFactory.instance(oss.getService());
          // 仅修改桶类型为 private 的URL,临时URL时长为120s
          if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) {
              oss.setUrl(storage.createPresignedGetUrl(oss.getFileName(), Duration.ofSeconds(120)));
          } else {
              oss.setUrl(storage.getUrl() + StringUtils.SLASH + oss.getFileName());
          }
          return oss;
      }
相关推荐
程序猿在线码字1 小时前
数据结构前置知识(java版)
java
步行cgn1 小时前
Spring 基于 XML 的自动装配:byType 详解
java·后端·spring
边境悍匪1 小时前
蜗牛学苑 Java 智能体学习 Day46|贯穿项目 2 思维导图复盘
java·开发语言·vue.js·学习·spring
智慧物业老杨3 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
步行cgn10 小时前
Spring c 命名空间注入详解
java·后端·spring
明月_清风10 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
aramae11 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
Rain的Java大神之路11 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog12 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis