瀏覽代碼

minio公网内网配置

WXF 3 年之前
父節點
當前提交
cd4acf0958

+ 13 - 3
simulation-resource-common/src/main/java/com/css/simulation/resource/common/configuration/minio/MinioConfiguration.java

@@ -11,14 +11,24 @@ import org.springframework.context.annotation.Configuration;
 @ConfigurationProperties(prefix = "minio")
 public class MinioConfiguration {
 
-    private String endpoint;
+    private String endpointPrivate;
+    private String endpointPublic;
     private String accessKey;
     private String secretKey;
 
     @Bean
-    public SubMinioClient minioClient() {
+    public SubMinioClient minioClientPrivate() {
         MinioClient minioClient = MinioClient.builder()
-                .endpoint(endpoint)
+                .endpoint(endpointPrivate)
+                .credentials(accessKey, secretKey)
+                .build();
+        return new SubMinioClient(minioClient);
+    }
+
+    @Bean
+    public SubMinioClient minioClientPublic() {
+        MinioClient minioClient = MinioClient.builder()
+                .endpoint(endpointPublic)
                 .credentials(accessKey, secretKey)
                 .build();
         return new SubMinioClient(minioClient);

+ 16 - 13
simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/MinioController.java

@@ -32,8 +32,11 @@ import java.util.*;
 @RequestMapping("/minio")
 public class MinioController {
 
-    @Resource
-    private SubMinioClient minioClient;
+    @Resource(name = "minioClientPrivate")
+    private SubMinioClient minioClientPrivate;
+
+    @Resource(name = "minioClientPublic")
+    private SubMinioClient minioClientPublic;
 
     @Value("${minio.bucket-name}")
     private String bucketName;
@@ -53,12 +56,12 @@ public class MinioController {
             @RequestParam("objectName") String objectName//  "/xx/xxx/x/xx"
     ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
         MinioUtil.uploadFromMultipartFile(
-                minioClient,
+                minioClientPrivate,
                 file,
                 bucketName,
                 objectName
         );
-        String previewUrl = MinioUtil.getPreviewUrl(minioClient, Method.GET, bucketName, objectName);
+        String previewUrl = MinioUtil.getPreviewUrl(minioClientPrivate, Method.GET, bucketName, objectName);
 
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "请求成功!", previewUrl);
     }
@@ -79,7 +82,7 @@ public class MinioController {
             }
 
             MinioUtil.uploadProcessBar(
-                    minioClient,
+                    minioClientPrivate,
                     file,
                     bucketName,
                     objectName,
@@ -99,7 +102,7 @@ public class MinioController {
             @RequestBody @Validated MinioParameter minioParameter
     ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
 
-        List<String> objects = MinioUtil.listObjects(minioClient, bucketName, minioParameter.getObjectName());
+        List<String> objects = MinioUtil.listObjects(minioClientPrivate, bucketName, minioParameter.getObjectName());
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
     }
 
@@ -109,7 +112,7 @@ public class MinioController {
             HttpServletResponse response
     ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
         InputStream inputStream = MinioUtil.downloadToStream(
-                minioClient,
+                minioClientPrivate,
                 bucketName,
                 minioParameter.getObjectName()
         );
@@ -120,7 +123,7 @@ public class MinioController {
     @RequestMapping("/preview")
     public void preview(@RequestParam("objectName") String objectName, HttpServletResponse response ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
         InputStream inputStream = MinioUtil.downloadToStream(
-                minioClient,
+                minioClientPrivate,
                 bucketName,
                 objectName
         );
@@ -130,7 +133,7 @@ public class MinioController {
 
     @RequestMapping("/getPreviewUrl")
     public ResponseBodyVO<String> getPreviewUrl(@RequestBody @Validated MinioParameter minioParameter) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
-        String previewUrl = MinioUtil.getPreviewUrl(minioClient, Method.GET, bucketName, minioParameter.getObjectName());
+        String previewUrl = MinioUtil.getPreviewUrl(minioClientPublic, Method.GET, bucketName, minioParameter.getObjectName());
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,"请求成功!", previewUrl);
     }
 
@@ -148,7 +151,7 @@ public class MinioController {
             objectName = "algorithm/" + nowTime + "/" + objectName;
         }
         Map<String, Object> result = new HashMap<>();//结果数据
-        CreateMultipartUploadResponse multipartUpload = minioClient.createMultipartUpload(bucketName, null, objectName, null, null);
+        CreateMultipartUploadResponse multipartUpload = minioClientPrivate.createMultipartUpload(bucketName, null, objectName, null, null);
         String uploadId = multipartUpload.result().uploadId();
         List<String> UrlList = new LinkedList<>();
         Map<String, String> queryParam = new HashMap<>();
@@ -156,7 +159,7 @@ public class MinioController {
         int size = Integer.parseInt(chunkSize);
         for (int i = 1; i <= size; i++) {
             queryParam.put("partNumber", String.valueOf(i));
-            String presignedObjectUrl = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+            String presignedObjectUrl = minioClientPublic.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
                     .method(Method.PUT)
                     .bucket(bucketName)
                     .object(objectName)
@@ -179,7 +182,7 @@ public class MinioController {
         if (ObjectUtil.isNull(objectName) || ObjectUtil.isNull(uploadId)) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "请求参数缺失!");
         }
-        ListPartsResponse listPartsResponse = minioClient.listParts(bucketName, null, objectName, 10000, 0, uploadId, null, null);
+        ListPartsResponse listPartsResponse = minioClientPrivate.listParts(bucketName, null, objectName, 10000, 0, uploadId, null, null);
         List<Part> parts = listPartsResponse.result().partList();
         Part[] partArr = new Part[parts.size()];
         int partNumber = 1;
@@ -187,7 +190,7 @@ public class MinioController {
             partArr[partNumber - 1] = new Part(partNumber, part.etag());
             partNumber++;
         }
-        minioClient.completeMultipartUpload(bucketName, null, objectName, uploadId, partArr, null, null);
+        minioClientPrivate.completeMultipartUpload(bucketName, null, objectName, uploadId, partArr, null, null);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, "合并成功!");
     }
 }