From 20be3330cc7d420bac5233bcd2e832d0bd61f53c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 22 七月 2023 11:43:26 +0800
Subject: [PATCH] 增加获取app用户接口

---
 ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java |   74 +++++++++++++++++++++++++++++++-----
 1 files changed, 63 insertions(+), 11 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java
index 81fa418..85f91d9 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java
@@ -10,6 +10,7 @@
 import io.minio.messages.Item;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.multipart.MultipartFile;
+
 import java.io.*;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -151,15 +152,14 @@
         boolean exsit = exitsBucket(bucketName);
         if (!exsit) {
             boolean bucket = createBucket(bucketName);
-            if(bucket)
-            {
+            if (bucket) {
                 log.info(bucketName + "-妗朵笉瀛樺湪,鎴愬姛鍒涘缓妗�");
             }
         }
         //鏂囦欢鍚�
         String originalFilename = file.getOriginalFilename();
         //鏂扮殑鏂囦欢鍚�
-        String fileName = IdUtils.fastSimpleUUID()+"_"+ originalFilename;
+        String fileName = IdUtils.fastSimpleUUID() + "_" + originalFilename;
         try {
             InputStream inputStream = file.getInputStream();
             /*涓婁紶瀵硅薄*/
@@ -180,7 +180,59 @@
                     .method(Method.GET)
                     .build();
             String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
-            String ObjectUrl  = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?"));
+            String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?"));
+            return ObjectUrl;
+        } catch (Exception ex) {
+            log.error("涓婁紶瀵硅薄杩斿洖url寮傚父锛�" + ex.getMessage());
+        }
+        return "";
+    }
+
+    /**
+     * @鎻忚堪 涓婁紶MultipartFile鏂囦欢杩斿洖url
+     * @鍙傛暟 [bucketName, file]
+     * @杩斿洖鍊� java.lang.String
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/5/18 12:16
+     * @淇敼浜哄拰鍏跺畠淇℃伅
+     */
+    public static String putObjectAndGetUrl(String bucketName, String folder, MultipartFile file) {
+        //鍒ゆ柇鏂囦欢鏄惁涓虹┖
+        if (null == file || 0 == file.getSize()) {
+            log.error("涓婁紶minio鏂囦欢鏈嶅姟鍣ㄩ敊璇紝涓婁紶鏂囦欢涓虹┖");
+        }
+        boolean exsit = exitsBucket(bucketName);
+        if (!exsit) {
+            boolean bucket = createBucket(bucketName);
+            if (bucket) {
+                log.info(bucketName + "-妗朵笉瀛樺湪,鎴愬姛鍒涘缓妗�");
+            }
+        }
+        //鏂囦欢鍚�
+        String originalFilename = file.getOriginalFilename();
+        //鏂扮殑鏂囦欢鍚�
+        String fileName = folder + "/" + IdUtils.fastSimpleUUID() + "_" + originalFilename;
+        try {
+            InputStream inputStream = file.getInputStream();
+            /*涓婁紶瀵硅薄*/
+            PutObjectArgs putObjectArgs = PutObjectArgs
+                    .builder()
+                    .bucket(bucketName)
+                    .object(fileName)
+                    .stream(inputStream, file.getSize(), -1)
+                    .contentType(file.getContentType())
+                    .build();
+            MinioClientSingleton.getMinioClient().putObject(putObjectArgs);
+            inputStream.close();
+            /*鑾峰彇url*/
+            GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
+                    .builder()
+                    .bucket(bucketName)
+                    .object(fileName)
+                    .method(Method.GET)
+                    .build();
+            String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
+            String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?"));
             return ObjectUrl;
         } catch (Exception ex) {
             log.error("涓婁紶瀵硅薄杩斿洖url寮傚父锛�" + ex.getMessage());
@@ -435,14 +487,14 @@
     }
 
     /**
-     *@鎻忚堪 鑾峰彇妗朵腑鎵�鏈夊璞�
-     *@鍙傛暟 [bucketName]
-     *@杩斿洖鍊� java.lang.Iterable<io.minio.Result<io.minio.messages.Item>>
-     *@鍒涘缓浜� 鍒樿嫃涔�
-     *@鍒涘缓鏃堕棿 2023/2/6 10:32
-     *@淇敼浜哄拰鍏跺畠淇℃伅
+     * @鎻忚堪 鑾峰彇妗朵腑鎵�鏈夊璞�
+     * @鍙傛暟 [bucketName]
+     * @杩斿洖鍊� java.lang.Iterable<io.minio.Result < io.minio.messages.Item>>
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/2/6 10:32
+     * @淇敼浜哄拰鍏跺畠淇℃伅
      */
-    public static Iterable<Result<Item>> getObjectsByBucket(String bucketName)  {
+    public static Iterable<Result<Item>> getObjectsByBucket(String bucketName) {
         Iterable<Result<Item>> listObjects = MinioClientSingleton.getMinioClient().listObjects(ListObjectsArgs.builder()
                 .bucket(bucketName)
                 .recursive(true)

--
Gitblit v1.9.3