From daf7acb4f107a427e4a83ba1eb26e5e6012cbdaf Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期三, 26 六月 2024 17:04:52 +0800 Subject: [PATCH] update --- exam-common/src/main/java/com/gkhy/exam/common/utils/MinioUtils.java | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) diff --git a/exam-common/src/main/java/com/gkhy/exam/common/utils/MinioUtils.java b/exam-common/src/main/java/com/gkhy/exam/common/utils/MinioUtils.java index 83c85e2..94aa256 100644 --- a/exam-common/src/main/java/com/gkhy/exam/common/utils/MinioUtils.java +++ b/exam-common/src/main/java/com/gkhy/exam/common/utils/MinioUtils.java @@ -6,6 +6,7 @@ import com.gkhy.exam.common.config.MinioConfig; import io.minio.*; import io.minio.http.Method; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.FastByteArrayOutputStream; @@ -13,9 +14,11 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; import java.util.Date; @Component +@Slf4j public class MinioUtils { @Autowired private MinioClient minioClient; @@ -27,15 +30,27 @@ * @return boolean */ public Boolean bucketExists(String bucketName) { - Boolean found; + Boolean found=false; try { found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build()); } catch (Exception e) { - e.printStackTrace(); - return false; + log.error("minio校验bucket失败:{}",e.getMessage()); } return found; } + + /** + * 文件上传 上传完成后请关闭文件流 + * + * @param fileName 带后缀的文件名 检验日期yyyyMMdd加16位随机码 + * @param stream 文件流 要上传文件的流 + */ + public void fileUploader( String fileName, InputStream stream) throws Exception { + PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(minioConfig.getBucketName()).object(fileName).stream(stream,-1,-1).contentType("application/octet-stream").build(); + // 使用putObject上传一个文件到文件分类 + minioClient.putObject(objectArgs); + } + /** * 文件上传 @@ -43,7 +58,7 @@ * @param file 文件 * @return Boolean */ - public String upload(MultipartFile file) { + public String uploadFile(MultipartFile file) { String originalFilename = file.getOriginalFilename(); if (StringUtils.isBlank(originalFilename)){ throw new RuntimeException(); @@ -56,7 +71,7 @@ //文件名称相同会覆盖 minioClient.putObject(objectArgs); } catch (Exception e) { - e.printStackTrace(); + log.error("minio上传文件失败:{}",e.getMessage()); return null; } return objectName; @@ -110,4 +125,20 @@ e.printStackTrace(); } } + + /** + * 删除文件 + * @param fileName + * @return + */ + public boolean removeFile(String fileName){ + try { + RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(minioConfig.getBucketName()) + .object(fileName).build(); + minioClient.removeObject(removeObjectArgs); + return true; + }catch (Exception e){ + return false; + } + } } -- Gitblit v1.9.2