ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioUtils.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java ÐÞ¸Ä
@@ -1,14 +1,11 @@
package com.ruoyi.device.hiksdk.util.minio;
package com.ruoyi.storage.minio.utils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
import io.minio.*;
import io.minio.http.Method;
import io.minio.messages.Bucket;
import io.minio.messages.DeleteError;
import io.minio.messages.DeleteObject;
import io.minio.messages.Item;
import io.minio.messages.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;
@@ -33,12 +30,12 @@
    public static boolean exitsBucket(String bucketName) {
        boolean found = false;
        try {
            if(StringUtils.isEmpty(bucketName))
            {
            if (StringUtils.isEmpty(bucketName)) {
                return false;
            }
            BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucketName).build();
            found = MinioClientSingleton.getMinioClient().bucketExists(bucketExistsArgs);
        } catch (Exception ex) {
            log.error("minio判断桶存在异常:", ex.getMessage());
        }
@@ -50,8 +47,7 @@
     */
    public static boolean createBucket(String bucketName) {
        try {
            if(StringUtils.isEmpty(bucketName))
            {
            if (StringUtils.isEmpty(bucketName)) {
                return false;
            }
            /*创建桶*/
@@ -68,7 +64,27 @@
                    .bucket(bucketName)
                    .config(sb)
                    .build();
            /*设置通知mqtt*/
            //设置mqtt主题
            NotificationConfiguration config = new NotificationConfiguration();
            List<QueueConfiguration> queueConfigurations = new ArrayList<>();
            QueueConfiguration queueConfiguration = new QueueConfiguration();
            queueConfiguration.setQueue("arn:minio:sqs::_:mqtt");
            //设置事件
            List<EventType> events=new ArrayList<>();
            events.add(EventType.OBJECT_REMOVED_ANY);
            events.add(EventType.OBJECT_CREATED_ANY);
            queueConfiguration.setEvents(events);
            queueConfigurations.add(queueConfiguration);
            config.setQueueConfigurationList(queueConfigurations);
            SetBucketNotificationArgs setBucketNotificationArgs = SetBucketNotificationArgs.builder()
                    .bucket(bucketName)
                    .config(config).build();
            MinioClientSingleton.getMinioClient().setBucketPolicy(setBucketPolicyArgs);
            MinioClientSingleton.getMinioClient().setBucketNotification(setBucketNotificationArgs);
            return true;
        } catch (Exception ex) {
            log.error("minio创建桶异常:", ex.getMessage());
@@ -141,9 +157,7 @@
            } catch (Exception ex) {
                log.error("minio生成失效url异常", ex.getMessage());
            }
        }
        else
        {
        } else {
            createBucket(bucketName);
        }
        return url;
@@ -158,8 +172,7 @@
     * @修改人和其它信息
     */
    public static String putObjectAndGetUrl(String bucketName, MultipartFile file) {
         if(!exitsBucket(bucketName))
        {
        if (!exitsBucket(bucketName)) {
            createBucket(bucketName);
        }
        //判断文件是否为空
@@ -214,8 +227,7 @@
     * @修改人和其它信息
     */
    public static String putObjectAndGetUrl(String bucketName, String folder, MultipartFile file) {
        if(!exitsBucket(bucketName))
        {
        if (!exitsBucket(bucketName)) {
            createBucket(bucketName);
        }
        //判断文件是否为空
@@ -372,8 +384,7 @@
     */
    public static boolean uploadObject(String bucketName, String objectName, InputStream stream, long size, String contextType) {
        try {
            if(!exitsBucket(bucketName))
            {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            }
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
@@ -400,8 +411,7 @@
     */
    public static boolean uploadObject(String bucketName, String objectName, File file, String contextType) {
        try {
            if(!exitsBucket(bucketName))
            {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            }
            FileInputStream fileInputStream = new FileInputStream(file);
@@ -429,8 +439,7 @@
     */
    public static boolean uploadObject(String bucketName, String objectName, MultipartFile multipartFile, String contextType) {
        try {
            if(!exitsBucket(bucketName))
            {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            }
            InputStream inputStream = multipartFile.getInputStream();
@@ -458,8 +467,7 @@
     */
    public static boolean uploadObject(String bucketName, MultipartFile multipartFile, String contextType) {
        try {
            if(!exitsBucket(bucketName))
            {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            }
            if (multipartFile == null) {
@@ -492,8 +500,7 @@
     */
    public static boolean uploadObject(String bucketName, String objectName, String localFilePathName, String contextType) {
        try {
            if(!exitsBucket(bucketName))
            {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            }
            File file = new File(localFilePathName);