From 0be852043be57c9a0daba2e7d0e8aa531fdeedba Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Tue, 01 Aug 2023 16:06:09 +0800
Subject: [PATCH] 打卡时间格式化"yyyy-MM-dd HH:mm:ss"

---
 ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java |   81 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 71 insertions(+), 10 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 36f8fa5..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
@@ -1,5 +1,6 @@
 package com.ruoyi.device.hiksdk.util.minio;
 
+import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
 import io.minio.*;
 import io.minio.http.Method;
@@ -9,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;
@@ -149,12 +151,15 @@
         }
         boolean exsit = exitsBucket(bucketName);
         if (!exsit) {
-            log.error(bucketName + "-桶不存在");
+            boolean bucket = createBucket(bucketName);
+            if (bucket) {
+                log.info(bucketName + "-桶不存在,成功创建桶");
+            }
         }
         //文件名
         String originalFilename = file.getOriginalFilename();
         //新的文件名
-        String fileName = UUID.randomUUID().toString().replace("-", "") + originalFilename;
+        String fileName = IdUtils.fastSimpleUUID() + "_" + originalFilename;
         try {
             InputStream inputStream = file.getInputStream();
             /*上传对象*/
@@ -172,8 +177,63 @@
                     .builder()
                     .bucket(bucketName)
                     .object(fileName)
+                    .method(Method.GET)
                     .build();
-            return MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
+            String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
+            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());
         }
@@ -425,15 +485,16 @@
             return false;
         }
     }
+
     /**
-     *@描述 获取桶中所有对象
-     *@参数 [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