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 | 82 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 72 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 49b4e1d..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());
}
@@ -271,6 +331,7 @@
.builder()
.bucket(bucketName)
.object(objectName)
+ .method(Method.GET)
.build();
return MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
} catch (Exception ex) {
@@ -424,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