‘liusuyi’
2023-09-13 0821887bbcfe49328dc676adab058f7e94d0e27d
修复雷达报警投影距离
取消雷达坐标转84坐标
已重命名1个文件
已修改4个文件
291 ■■■■ 文件已修改
src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/utils/minio/MinioConfig.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/utils/minio/MinioUtil.java 240 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
@@ -1,7 +1,7 @@
package com.ard.alarm.apponekey.controller;
import com.ard.utils.http.AjaxResult;
import com.ard.utils.minio.MinioUtils;
import com.ard.utils.minio.MinioUtil;
import org.springframework.web.bind.annotation.*;
import com.ard.alarm.apponekey.domain.ArdAlarmApponekey;
import com.ard.alarm.apponekey.service.IArdAlarmApponekeyService;
@@ -20,14 +20,12 @@
public class ArdAlarmApponekeyController {
    @Resource
    private IArdAlarmApponekeyService ardAlarmApponekeyService;
    @Resource
    private MinioUtils minioUtil;
    /**
     * æ–°å¢žapp一键报警
     */
    @PostMapping
    public AjaxResult add(String userId,String name, Double longitude,Double latitude,Double altitude,MultipartFile file) {
        String url = minioUtil.putObjectAndGetUrl("record", file);
        String url = MinioUtil.putObjectAndGetUrl("record", file);
        ArdAlarmApponekey ardAlarmApponekey =new ArdAlarmApponekey();
        ardAlarmApponekey.setUserId(userId);
        ardAlarmApponekey.setName(name);
src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
@@ -6,7 +6,7 @@
import com.ard.alarm.camera.service.IArdCamerasService;
import com.ard.alarm.external.domain.ArdEquipExternal;
import com.ard.alarm.external.service.IArdEquipExternalService;
import com.ard.utils.minio.MinioUtils;
import com.ard.utils.minio.MinioUtil;
import com.ard.utils.other.ByteUtils;
import com.ard.utils.hiksdk.common.GlobalVariable;
import com.ard.utils.hiksdk.domain.AccessControlHostEventInfo;
@@ -290,7 +290,7 @@
                    // log.debug("非事件报警数据上报(暂不解析)");
                    break;
                }
                log.debug("门禁主机报警上传");
                int dwMinor = strACSInfo.dwMinor;
                if (dwMinor != 80 && dwMinor != 104) {
                    //只解析真人检测失败和人脸抓拍失败的次类型事件
@@ -305,7 +305,7 @@
                        alarmType = "人脸抓拍失败";
                        break;
                }
                log.debug("【主类型】事件"+alarmType);
                log.debug("门禁主机报警上传:"+alarmType);
                String alarmTime = DateUtils.convertDate(parseAlarmTime(strACSInfo.struTime), "yyyy-M-d H:m:s");
                //事件图片处理
@@ -321,10 +321,9 @@
                        InputStream input = new ByteArrayInputStream(bytes);
                        String bucketName = "pic";
                        String objectName = "alarm/" + IdUtils.simpleUUID() + ".jpeg";
                        MinioUtils minioUtil = SpringUtils.getBean(MinioUtils.class);
                        boolean uploadObject = minioUtil.uploadObject(bucketName, objectName, input,input.available(), "image/JPEG");
                        boolean uploadObject = MinioUtil.uploadObject(bucketName, objectName, input,input.available(), "image/JPEG");
                        if (uploadObject) {
                            url = minioUtil.getBucketObjectUrl(bucketName, objectName);
                            url = MinioUtil.getBucketObjectUrl(bucketName, objectName);
                            //log.debug("上传文件成功!" + url);
                        }
                    } catch (Exception e) {
src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -3,7 +3,7 @@
import com.ard.alarm.camera.domain.ArdCameras;
import com.ard.alarm.camera.domain.CameraCmd;
import com.ard.alarm.external.domain.ArdEquipExternal;
import com.ard.utils.minio.MinioUtils;
import com.ard.utils.minio.MinioUtil;
import com.ard.utils.other.ByteUtils;
import com.ard.utils.hiksdk.common.GlobalVariable;
import com.ard.utils.hiksdk.domain.DeviceInfo;
@@ -434,10 +434,9 @@
            InputStream input = new ByteArrayInputStream(array);
            String url = "";
            try {
                MinioUtils minioUtil = SpringUtils.getBean(MinioUtils.class);
                boolean b = minioUtil.uploadObject(cmd.getBucketName(), cmd.getObjectName(), input,input.available(), ContentType);
                boolean b = MinioUtil.uploadObject(cmd.getBucketName(), cmd.getObjectName(), input,input.available(), ContentType);
                if (b) {
                    url = minioUtil.getBucketObjectUrl(cmd.getBucketName(), cmd.getObjectName());
                    url = MinioUtil.getBucketObjectUrl(cmd.getBucketName(), cmd.getObjectName());
                   // log.debug("上传文件成功!" + url);
                }
            } catch (Exception ex) {
src/main/java/com/ard/utils/minio/MinioConfig.java
@@ -3,31 +3,30 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Configuration;
/**
 * @Description:
 * @ClassName: MinioClientSingleton
 * @ClassName: MinioInit
 * @Author: åˆ˜è‹ä¹‰
 * @Date: 2023å¹´05月18日9:32
 * @Version: 1.0
 * @Date: 2023å¹´08月25日14:03:45
 **/
@Configuration
@Slf4j(topic = "minio")
@Component
public class MinioConfig {
    @Value("${spring.minio.endpoint}")
    private  String endpoint;
    private String endpoint;
    @Value("${spring.minio.accessKey}")
    private  String accessKey;
    private String accessKey;
    @Value("${spring.minio.secretKey}")
    private  String secretKey;
    private String secretKey;
    @Bean
    public io.minio.MinioClient getMinioClient() {
        return io.minio.MinioClient.builder()
                .endpoint(endpoint)
                .credentials(accessKey, secretKey)
                .build();
    MinioUtil getMinioUtil()
    {
        log.info("初始化minio配置"+"【"+endpoint+"("+accessKey+"/"+secretKey+")】");
        return new MinioUtil(endpoint,accessKey,secretKey);
    }
}
src/main/java/com/ard/utils/minio/MinioUtil.java
ÎļþÃû´Ó src/main/java/com/ard/utils/minio/MinioUtils.java ÐÞ¸Ä
@@ -6,9 +6,7 @@
import io.minio.http.Method;
import io.minio.messages.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -19,30 +17,58 @@
import java.util.concurrent.TimeUnit;
/**
 * @Description: Minio客户端工具类
 * @ClassName: MinioUtils
 * @Description: minio工具类
 * @ClassName: MinioUtil
 * @Author: åˆ˜è‹ä¹‰
 * @Date: 2023å¹´05月18日9:34
 * @Version: 1.0
 * @Date: 2023å¹´08月25日14:03:00
 **/
@SuppressWarnings("ALL")
@Slf4j(topic = "minio")
@Component
public class MinioUtils {
public class MinioUtil {
    @Resource
    MinioClient minioClient;
    private volatile static MinioClient minioClient;
    public static String domainUrl;
    public static String accessKey;
    public static String secretKey;
    private MinioUtil() {
    }
    public MinioUtil(String domainUrl, String accessKey, String secretKey) {
        this.domainUrl = domainUrl;
        this.accessKey = accessKey;
        this.secretKey = secretKey;
        creatMinioClient();
    }
    /**
     * èŽ·å–minio客户端实例
     *
     * @return {@link MinioClient}
     */
    public static MinioClient creatMinioClient() {
        if (minioClient == null) {
            synchronized (MinioUtil.class) {
                if (minioClient == null) {
                    minioClient = MinioClient.builder()
                            .endpoint(domainUrl)
                            .credentials(accessKey, secretKey)
                            .build();
                }
            }
        }
        return minioClient;
    }
    /**
     * åˆ¤æ–­æ¡¶æ˜¯å¦å­˜åœ¨
     */
    public boolean exitsBucket(String bucketName) {
    public static boolean exitsBucket(String bucket) {
        boolean found = false;
        try {
            if (StringUtils.isEmpty(bucketName)) {
            if (StringUtils.isEmpty(bucket)) {
                return false;
            }
            BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucketName).build();
            BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucket).build();
            found = minioClient.bucketExists(bucketExistsArgs);
        } catch (Exception ex) {
@@ -54,23 +80,23 @@
    /**
     * åˆ›å»ºæ¡¶,并设置桶策略为公共
     */
    public boolean createBucket(String bucketName) {
    public static boolean createBucket(String bucket) {
        try {
            if (StringUtils.isEmpty(bucketName)) {
            if (StringUtils.isEmpty(bucket)) {
                return false;
            }
            /*创建桶*/
            MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucketName).build();
            MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucket).build();
            minioClient.makeBucket(makeBucketArgs);
            /*设置策略*/
            String sb = "{\"Version\":\"2012-10-17\"," +
                    "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
                    "{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
                    "\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucketName +
                    "\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucket +
                    "\"]},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:PutObject\",\"s3:AbortMultipartUpload\",\"s3:DeleteObject\",\"s3:GetObject\",\"s3:ListMultipartUploadParts\"],\"Resource\":[\"arn:aws:s3:::" +
                    bucketName + "/*\"]}]}";
                    bucket + "/*\"]}]}";
            SetBucketPolicyArgs setBucketPolicyArgs = SetBucketPolicyArgs.builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .config(sb)
                    .build();
            /*设置通知mqtt*/
@@ -89,7 +115,7 @@
            queueConfigurations.add(queueConfiguration);
            config.setQueueConfigurationList(queueConfigurations);
            SetBucketNotificationArgs setBucketNotificationArgs = SetBucketNotificationArgs.builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .config(config).build();
            minioClient.setBucketPolicy(setBucketPolicyArgs);
            minioClient.setBucketNotification(setBucketNotificationArgs);
@@ -106,7 +132,7 @@
     *
     * @param bucket æ¡¶åç§°
     */
    public boolean removeBucket(String bucket) {
    public static boolean removeBucket(String bucket) {
        try {
            boolean found = exitsBucket(bucket);
            if (found) {
@@ -134,7 +160,7 @@
     *
     * @return
     */
    public List<Bucket> getListBuckets() {
    public static List<Bucket> getListBuckets() {
        try {
            return minioClient.listBuckets();
        } catch (Exception e) {
@@ -147,19 +173,19 @@
     * ç”Ÿæˆä¸€ä¸ªGET请求的带有失效时间的分享链接。
     * å¤±æ•ˆæ—¶é—´é»˜è®¤æ˜¯7天。
     *
     * @param bucketName å­˜å‚¨æ¡¶åç§°
     * @param objectName å­˜å‚¨æ¡¶é‡Œçš„对象名称
     * @param expires    å¤±æ•ˆæ—¶é—´ï¼ˆä»¥ç§’为单位),默认是7天,不得大于七天
     * @param bucket  å­˜å‚¨æ¡¶åç§°
     * @param object  å­˜å‚¨æ¡¶é‡Œçš„对象名称
     * @param expires å¤±æ•ˆæ—¶é—´ï¼ˆä»¥ç§’为单位),默认是7天,不得大于七天
     * @return
     */
    public String getObjectWithExpired(String bucketName, String objectName, Integer expires, TimeUnit timeUnit) {
    public static String getObjectWithExpired(String bucket, String object, Integer expires, TimeUnit timeUnit) {
        String url = "";
        if (exitsBucket(bucketName)) {
        if (exitsBucket(bucket)) {
            try {
                GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs.builder()
                        .method(Method.GET)
                        .bucket(bucketName)
                        .object(objectName)
                        .bucket(bucket)
                        .object(object)
                        .expiry(expires, timeUnit)
                        .build();
                url = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs);
@@ -167,7 +193,7 @@
                log.error("minio生成失效url异常", ex.getMessage());
            }
        } else {
            createBucket(bucketName);
            createBucket(bucket);
        }
        return url;
    }
@@ -180,20 +206,13 @@
     * @创建时间 2023/5/18 12:16
     * @修改人和其它信息
     */
    public String putObjectAndGetUrl(String bucketName, MultipartFile file) {
        if (!exitsBucket(bucketName)) {
            createBucket(bucketName);
    public static String putObjectAndGetUrl(String bucket, MultipartFile file) {
        if (!exitsBucket(bucket)) {
            createBucket(bucket);
        }
        //判断文件是否为空
        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();
@@ -204,7 +223,7 @@
            /*上传对象*/
            PutObjectArgs putObjectArgs = PutObjectArgs
                    .builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .object(fileName)
                    .stream(inputStream, file.getSize(), -1)
                    .contentType(file.getContentType())
@@ -214,7 +233,7 @@
            /*获取url*/
            GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
                    .builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .object(fileName)
                    .method(Method.GET)
                    .build();
@@ -235,20 +254,13 @@
     * @创建时间 2023/5/18 12:16
     * @修改人和其它信息
     */
    public String putObjectAndGetUrl(String bucketName, String folder, MultipartFile file) {
        if (!exitsBucket(bucketName)) {
            createBucket(bucketName);
    public static String putObjectAndGetUrl(String bucket, String folder, MultipartFile file) {
        if (!exitsBucket(bucket)) {
            createBucket(bucket);
        }
        //判断文件是否为空
        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();
@@ -259,7 +271,7 @@
            /*上传对象*/
            PutObjectArgs putObjectArgs = PutObjectArgs
                    .builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .object(fileName)
                    .stream(inputStream, file.getSize(), -1)
                    .contentType(file.getContentType())
@@ -269,7 +281,7 @@
            /*获取url*/
            GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
                    .builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .object(fileName)
                    .method(Method.GET)
                    .build();
@@ -285,15 +297,15 @@
    /**
     * åˆ é™¤æ–‡ä»¶
     *
     * @param bucket     æ¡¶åç§°
     * @param objectName å¯¹è±¡åç§°
     * @param bucket æ¡¶åç§°
     * @param object å¯¹è±¡åç§°
     * @return boolean
     */
    public boolean removeObject(String bucket, String objectName) {
    public static boolean removeObject(String bucket, String object) {
        try {
            boolean exsit = exitsBucket(bucket);
            if (exsit) {
                RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(bucket).object(objectName).build();
                RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(bucket).object(object).build();
                minioClient.removeObject(removeObjectArgs);
                return true;
            }
@@ -306,14 +318,14 @@
    /**
     * æ‰¹é‡åˆ é™¤æ–‡ä»¶
     *
     * @param objectNames å¯¹è±¡åç§°
     * @param objectList å¯¹è±¡åç§°åˆ—表
     * @return boolean
     */
    public boolean removeObjects(String bucket, List<String> objectNames) {
    public static boolean removeObjects(String bucket, List<String> objectList) {
        if (exitsBucket(bucket)) {
            try {
                List<DeleteObject> objects = new LinkedList<>();
                for (String str : objectNames) {
                for (String str : objectList) {
                    objects.add(new DeleteObject(str));
                }
                RemoveObjectsArgs removeObjectsArgs = RemoveObjectsArgs.builder().bucket(bucket).objects(objects).build();
@@ -338,7 +350,7 @@
     * @param bucket æ¡¶åç§°
     * @return {@link List}<{@link String}>
     */
    public List<String> getBucketObjectName(String bucket) {
    public static List<String> getBucketObjectName(String bucket) {
        boolean exsit = exitsBucket(bucket);
        if (exsit) {
            List<String> listObjetcName = new ArrayList<>();
@@ -359,10 +371,12 @@
    /**
     * èŽ·å–å•ä¸ªæ¡¶ä¸­çš„æ‰€æœ‰æ–‡ä»¶å¯¹è±¡åç§°
     * @param [bucket,prefix]
     *
     * @param bucket æ¡¶åç§°
     * @param prefix å‰ç¼€
     * @return {@link List}<{@link String}>
     */
    public List<String> getBucketObjectName(String bucket, String prefix) {
    public static List<String> getBucketObjectName(String bucket, String prefix) {
        boolean exsit = exitsBucket(bucket);
        if (exsit) {
            List<String> listObjetcName = new ArrayList<>();
@@ -384,19 +398,19 @@
    /**
     * èŽ·å–æŸä¸ªæ¡¶ä¸‹æŸä¸ªå¯¹è±¡çš„URL
     *
     * @param bucket     æ¡¶åç§°
     * @param objectName å¯¹è±¡å (文件夹名 + æ–‡ä»¶å)
     * @param bucket æ¡¶åç§°
     * @param object å¯¹è±¡å (文件夹名 + æ–‡ä»¶å)
     * @return
     */
    public String getBucketObjectUrl(String bucketName, String objectName) {
    public static String getBucketObjectUrl(String bucket, String object) {
        try {
            if (!exitsBucket(bucketName)) {
            if (!exitsBucket(bucket)) {
                return "";
            }
            GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
                    .builder()
                    .bucket(bucketName)
                    .object(objectName)
                    .bucket(bucket)
                    .object(object)
                    .method(Method.GET)
                    .build();
            String presignedObjectUrl = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs);
@@ -411,20 +425,20 @@
    /**
     * ä¸Šä¼ å¯¹è±¡-stream
     *
     * @param bucketName  bucket名称
     * @param objectName  â½‚件名称
     * @param bucket      bucket名称
     * @param object      â½‚件名称
     * @param stream      â½‚件流
     * @param size        â¼¤â¼©
     * @param contextType ç±»åž‹ Image/jpeg æµè§ˆå™¨å¯ä»¥ç›´æŽ¥æ‰“开,否则下载
     */
    public boolean uploadObject(String bucketName, String objectName, InputStream stream, long size, String contextType) {
    public static boolean uploadObject(String bucket, String object, InputStream stream, long size, String contextType) {
        try {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            if (!exitsBucket(bucket)) {
                createBucket(bucket);
            }
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .bucket(bucketName)
                    .object(objectName)
                    .bucket(bucket)
                    .object(object)
                    .stream(stream, size, -1)
                    .contentType(contextType)
                    .build();
@@ -439,20 +453,20 @@
    /**
     * ä¸Šä¼ å¯¹è±¡-File
     *
     * @param bucketName  bucket名称
     * @param objectName  â½‚件名称
     * @param bucket      bucket名称
     * @param object      â½‚件名称
     * @param file        â½‚ä»¶
     * @param contextType ç±»åž‹ Image/jpeg æµè§ˆå™¨å¯ä»¥ç›´æŽ¥æ‰“开,否则下载
     */
    public boolean uploadObject(String bucketName, String objectName, File file, String contextType) {
    public static boolean uploadObject(String bucket, String object, File file, String contextType) {
        try {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            if (!exitsBucket(bucket)) {
                createBucket(bucket);
            }
            FileInputStream fileInputStream = new FileInputStream(file);
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .bucket(bucketName)
                    .object(objectName)
                    .bucket(bucket)
                    .object(object)
                    .stream(fileInputStream, file.length(), -1)
                    .contentType(contextType)
                    .build();
@@ -467,20 +481,20 @@
    /**
     * ä¸Šä¼ å¯¹è±¡-MultipartFile
     *
     * @param bucketName    bucket名称
     * @param objectName    â½‚件名称
     * @param MultipartFile â½‚ä»¶
     * @param bucket        bucket名称
     * @param object        â½‚件名称
     * @param multipartFile â½‚ä»¶
     * @param contextType   ç±»åž‹ Image/jpeg æµè§ˆå™¨å¯ä»¥ç›´æŽ¥æ‰“开,否则下载
     */
    public boolean uploadObject(String bucketName, String objectName, MultipartFile multipartFile, String contextType) {
    public static boolean uploadObject(String bucket, String object, MultipartFile multipartFile, String contextType) {
        try {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            if (!exitsBucket(bucket)) {
                createBucket(bucket);
            }
            InputStream inputStream = multipartFile.getInputStream();
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .bucket(bucketName)
                    .object(objectName)
                    .bucket(bucket)
                    .object(object)
                    .stream(inputStream, multipartFile.getSize(), -1)
                    .contentType(contextType)
                    .build();
@@ -495,15 +509,14 @@
    /**
     * ä¸Šä¼ å¯¹è±¡,用multipartFile名称作为对象名
     *
     * @param bucketName    bucket名称
     * @param objectName    â½‚件名称
     * @param MultipartFile â½‚ä»¶
     * @param bucket        bucket名称
     * @param multipartFile â½‚ä»¶
     * @param contextType   ç±»åž‹ Image/jpeg æµè§ˆå™¨å¯ä»¥ç›´æŽ¥æ‰“开,否则下载
     */
    public boolean uploadObject(String bucketName, MultipartFile multipartFile, String contextType) {
    public static boolean uploadObject(String bucket, MultipartFile multipartFile, String contextType) {
        try {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            if (!exitsBucket(bucket)) {
                createBucket(bucket);
            }
            if (multipartFile == null) {
                log.error("上传文件为空");
@@ -512,7 +525,7 @@
            String objectName = multipartFile.getOriginalFilename();
            InputStream inputStream = multipartFile.getInputStream();
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .bucket(bucketName)
                    .bucket(bucket)
                    .object(objectName)
                    .stream(inputStream, multipartFile.getSize(), -1)
                    .contentType(contextType)
@@ -528,15 +541,15 @@
    /**
     * ä¸Šä¼ å¯¹è±¡-通过本地路径
     *
     * @param bulkName
     * @param objectName
     * @param localFilePathName
     * @return
     * @param bucket            æ¡¶åç§°
     * @param object            å¯¹è±¡åç§°
     * @param localFilePathName æ–‡ä»¶è·¯å¾„
     * @return boolean
     */
    public boolean uploadObject(String bucketName, String objectName, String localFilePathName, String contextType) {
    public static boolean uploadObject(String bucket, String object, String localFilePathName, String contextType) {
        try {
            if (!exitsBucket(bucketName)) {
                createBucket(bucketName);
            if (!exitsBucket(bucket)) {
                createBucket(bucket);
            }
            File file = new File(localFilePathName);
            if (!file.exists()) {
@@ -544,8 +557,8 @@
                return false;
            }
            UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder()
                    .bucket(bucketName)
                    .object(objectName)
                    .bucket(bucket)
                    .object(object)
                    .filename(localFilePathName)
                    .contentType(contextType)
                    .build();
@@ -565,7 +578,7 @@
     * @创建时间 2023/2/6 10:32
     * @修改人和其它信息
     */
    public Iterable<Result<Item>> getObjectsByBucket(String bucketName) {
    public static Iterable<Result<Item>> getObjectsByBucket(String bucketName) {
        Iterable<Result<Item>> listObjects = minioClient.listObjects(ListObjectsArgs.builder()
                .bucket(bucketName)
                .recursive(true)
@@ -575,13 +588,13 @@
    /**
     * @描述 èŽ·å–æ¡¶ä¸­æ‰€æœ‰å¯¹è±¡
     * @参数 [bucketName,prefix]
     * @参数 [bucketName, prefix]
     * @返回值 java.lang.Iterable<io.minio.Result < io.minio.messages.Item>>
     * @创建人 åˆ˜è‹ä¹‰
     * @创建时间 2023/2/6 10:32
     * @修改人和其它信息
     */
    public Iterable<Result<Item>> getObjectsByBucket(String bucketName, String prefix) {
    public static Iterable<Result<Item>> getObjectsByBucket(String bucketName, String prefix) {
        Iterable<Result<Item>> listObjects = minioClient.listObjects(ListObjectsArgs.builder()
                .bucket(bucketName)
                .prefix(prefix)
@@ -589,4 +602,5 @@
                .build());
        return listObjects;
    }
}
}