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;
      }
相关推荐
开开心心_Every17 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
萧瑟余晖18 小时前
Spring Batch核心模型与快速上手详解
java·spring·batch
缓慢更新18 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
LMT流氓兔20 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
wangbing112521 小时前
平台介绍-modbus设备调试
java
西索斯coding21 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
wuminyu1 天前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
Flynn Liang1 天前
大模型怎么自己调函数?Spring AI 2.0 Tool Calling 自动循环原理 + 完整时序图
java·人工智能·spring·agent·函数调用·springai·toolcalling
乌暮1 天前
请求进门先安检:Spring 拦截器与统一功能实战指南
java·开发语言·后端·学习·spring
学长毕设1 天前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端