瀏覽代碼

fix 修复 minio 适配 https 导致的问题

疯狂的狮子li 3 年之前
父節點
當前提交
bb793d71e7
共有 1 個文件被更改,包括 11 次插入4 次删除
  1. 11 4
      ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java

+ 11 - 4
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java

@@ -9,6 +9,8 @@ import com.ruoyi.oss.exception.OssException;
 import com.ruoyi.oss.properties.OssProperties;
 import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
 import io.minio.*;
+import io.minio.http.HttpUtils;
+import okhttp3.HttpUrl;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
 
@@ -29,10 +31,15 @@ public class MinioOssStrategy extends AbstractOssStrategy {
     public void init(OssProperties ossProperties) {
         super.init(ossProperties);
         try {
-            minioClient = MinioClient.builder()
-                .endpoint(properties.getEndpoint(), 443, OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps()))
-                .credentials(properties.getAccessKey(), properties.getSecretKey())
-                .build();
+            MinioClient.Builder builder = MinioClient.builder();
+            if (OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) {
+                HttpUrl url = HttpUtils.getBaseUrl(properties.getEndpoint())
+                    .newBuilder().scheme("https").build();
+                builder.endpoint(url);
+            } else {
+                builder.endpoint(properties.getEndpoint());
+            }
+            minioClient = builder.credentials(properties.getAccessKey(), properties.getSecretKey()).build();
             createBucket();
         } catch (Exception e) {
             throw new OssException("Minio存储配置错误! 请检查系统配置:[" + e.getMessage() + "]");