From 1bdd6405e8caffc058066bdd26cb6de1ea9cf7ea Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期二, 09 八月 2022 18:35:39 +0800
Subject: [PATCH] 8-9fix

---
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java
new file mode 100644
index 0000000..2bc51f6
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java
@@ -0,0 +1,97 @@
+package com.gkhy.safePlatform.minioFile.service;
+
+import com.gkhy.safePlatform.minioFile.config.MinioConfig;
+import com.gkhy.safePlatform.minioFile.utils.UUIDUtil;
+import io.minio.GetPresignedObjectUrlArgs;
+import io.minio.MinioClient;
+import io.minio.errors.*;
+import io.minio.http.Method;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+@Service
+public class MinioAccessService {
+
+    @Resource
+    private MinioConfig minioConfig;
+
+    @Autowired
+    private MinioClient minioClient;
+
+    public String viewFile(String objectName){
+        String url = null;
+        try {
+            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+                    .method(Method.GET)
+                    .bucket(minioConfig.getBucketName())
+                    .object(objectName)
+                    .expiry(60).build());
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (ServerException e) {
+            e.printStackTrace();
+        }
+        return url;
+    }
+
+    public String getPresignUrl(String prefixName ,String suffixName){
+        String  uuid= UUIDUtil.initUUID();
+        String objName = prefixName+uuid+suffixName;
+        String url = null;
+        try {
+            Map<String, String> reqParams = new HashMap<>();
+            reqParams.put("response-content-type", "application/json");
+            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+                    .method(Method.PUT)
+                    .bucket(minioConfig.getBucketName())
+                    .object(objName)
+                    .expiry(60*2)
+                    .extraQueryParams(reqParams)
+                    .build());
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (ServerException e) {
+            e.printStackTrace();
+        }
+        return url;
+    }
+
+
+
+}

--
Gitblit v1.9.2