diff --git a/ensign-module-infra/ensign-module-infra-biz/pom.xml b/ensign-module-infra/ensign-module-infra-biz/pom.xml
index 0d1db58..88e5fc7 100644
--- a/ensign-module-infra/ensign-module-infra-biz/pom.xml
+++ b/ensign-module-infra/ensign-module-infra-biz/pom.xml
@@ -118,14 +118,6 @@
tika-core
-
-
- io.minio
- minio
- 8.5.14
-
-
-
diff --git a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/config/MinioConfig.java b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/config/MinioConfig.java
deleted file mode 100644
index 3dc77e9..0000000
--- a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/config/MinioConfig.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.ensign.crm.module.infra.config;
-
-import io.minio.MinioClient;
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @Description: minio配置
- * @Date: 29/11/2024 9:57 am
- * @Created: by ZZSLL
- */
-
-@Data
-@Configuration
-@ConfigurationProperties(prefix = "minio")
-public class MinioConfig {
- private String endpoint;
- private String accessKey;
- private String secretKey;
- private String bucketName;
-
- @Bean
- public MinioClient minioClient() {
- return MinioClient.builder()
- .endpoint(endpoint)
- .credentials(accessKey, secretKey)
- .build();
- }
-}
diff --git a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/file/FileController.java b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/file/FileController.java
index 7fadb61..40beee6 100644
--- a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/file/FileController.java
+++ b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/file/FileController.java
@@ -100,10 +100,4 @@ public class FileController {
return success(BeanUtils.toBean(pageResult, FileRespVO.class));
}
- @PostMapping("/upload/minio")
- @Operation(summary = "上传Minio")
- public CommonResult uploadMinio(MultipartFile file) {
- return success(fileService.createMinioFile(file));
- }
-
}
diff --git a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/video/VideoController.java b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/video/VideoController.java
deleted file mode 100644
index ccb09ae..0000000
--- a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/controller/admin/video/VideoController.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ensign.crm.module.infra.controller.admin.video;
-
-import com.ensign.crm.framework.common.pojo.CommonResult;
-import com.ensign.crm.module.infra.service.file.FileService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.security.PermitAll;
-
-/**
- * @Description: 播放minio中视频
- * @Date: 29/11/2024 10:27 am
- * @Created: by ZZSLL
- */
-
-@RestController
-@RequestMapping("/infra/video")
-@Tag(name = "管理后台 - 视频")
-public class VideoController {
-
- @Autowired
- private FileService fileService;
-
- @GetMapping("/play")
- @Operation(summary = "播放视频")
- @PermitAll // 仅测试
- public CommonResult play(@RequestParam String bucket, @RequestParam String path) {
- return CommonResult.success(fileService.readAsVideo(bucket, path));
- }
-}
diff --git a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileService.java b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileService.java
index cf31a5e..e29df49 100644
--- a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileService.java
+++ b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileService.java
@@ -5,7 +5,6 @@ import com.ensign.crm.module.infra.controller.admin.file.vo.file.FileCreateReqVO
import com.ensign.crm.module.infra.controller.admin.file.vo.file.FilePageReqVO;
import com.ensign.crm.module.infra.controller.admin.file.vo.file.FilePresignedUrlRespVO;
import com.ensign.crm.module.infra.dal.dataobject.file.FileDO;
-import org.springframework.web.multipart.MultipartFile;
/**
* 文件 Service 接口
@@ -64,18 +63,4 @@ public interface FileService {
*/
FilePresignedUrlRespVO getFilePresignedUrl(String path) throws Exception;
- /**
- * 上传文件至minio
- * @return 上传后完整路径
- */
- String createMinioFile(MultipartFile file);
-
- /**
- * 视频播放
- *
- * @param bucket minio桶名
- * @param path 路径
- * @return stream
- */
- String readAsVideo(String bucket, String path);
}
diff --git a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileServiceImpl.java b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileServiceImpl.java
index 16509c7..1188ab9 100644
--- a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileServiceImpl.java
+++ b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/service/file/FileServiceImpl.java
@@ -5,20 +5,16 @@ import cn.hutool.core.util.StrUtil;
import com.ensign.crm.framework.common.pojo.PageResult;
import com.ensign.crm.framework.common.util.io.FileUtils;
import com.ensign.crm.framework.common.util.object.BeanUtils;
+import com.ensign.crm.module.infra.framework.file.core.client.FileClient;
+import com.ensign.crm.module.infra.framework.file.core.client.s3.FilePresignedUrlRespDTO;
+import com.ensign.crm.module.infra.framework.file.core.utils.FileTypeUtils;
import com.ensign.crm.module.infra.controller.admin.file.vo.file.FileCreateReqVO;
import com.ensign.crm.module.infra.controller.admin.file.vo.file.FilePageReqVO;
import com.ensign.crm.module.infra.controller.admin.file.vo.file.FilePresignedUrlRespVO;
import com.ensign.crm.module.infra.dal.dataobject.file.FileDO;
import com.ensign.crm.module.infra.dal.mysql.file.FileMapper;
-import com.ensign.crm.module.infra.framework.file.core.client.FileClient;
-import com.ensign.crm.module.infra.framework.file.core.client.s3.FilePresignedUrlRespDTO;
-import com.ensign.crm.module.infra.framework.file.core.utils.FileTypeUtils;
-import com.ensign.crm.module.infra.utils.MinioUtils;
-import io.minio.MinioClient;
import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@@ -30,7 +26,6 @@ import static com.ensign.crm.module.infra.enums.ErrorCodeConstants.FILE_NOT_EXIS
*
* @author ENSIGN
*/
-@Slf4j
@Service
public class FileServiceImpl implements FileService {
@@ -40,12 +35,6 @@ public class FileServiceImpl implements FileService {
@Resource
private FileMapper fileMapper;
- @Resource
- private MinioUtils minioUtils;
-
- @Resource
- private MinioClient minioClient;
-
@Override
public PageResult getFilePage(FilePageReqVO pageReqVO) {
return fileMapper.selectPage(pageReqVO);
@@ -125,18 +114,4 @@ public class FileServiceImpl implements FileService {
object -> object.setConfigId(fileClient.getId()));
}
- @Override
- public String createMinioFile(MultipartFile file) {
- return minioUtils.upload(file);
- }
-
- @Override
- public String readAsVideo(String bucket, String path) {
- try {
- return minioUtils.preview(path);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- throw new RuntimeException(e);
- }
- }
}
diff --git a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/utils/MinioUtils.java b/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/utils/MinioUtils.java
deleted file mode 100644
index 460aa64..0000000
--- a/ensign-module-infra/ensign-module-infra-biz/src/main/java/com/ensign/crm/module/infra/utils/MinioUtils.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package com.ensign.crm.module.infra.utils;
-
-import cn.hutool.core.io.FastByteArrayOutputStream;
-import com.ensign.crm.module.infra.config.MinioConfig;
-import io.minio.*;
-import io.minio.http.Method;
-import io.minio.messages.Bucket;
-import io.minio.messages.Item;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: Minio工具
- * @Date: 29/11/2024 9:58 am
- * @Created: by ZZSLL
- */
-
-@Component
-@Slf4j
-public class MinioUtils {
-
- @Autowired
- private MinioConfig prop;
-
- @Resource
- private MinioClient minioClient;
-
- /**
- * 查看存储bucket是否存在
- * @return boolean
- */
- public Boolean bucketExists(String bucketName) {
- boolean found;
- try {
- found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- return false;
- }
- return found;
- }
-
- /**
- * 创建存储bucket
- * @return Boolean
- */
- public Boolean makeBucket(String bucketName) {
- try {
- minioClient.makeBucket(MakeBucketArgs.builder()
- .bucket(bucketName)
- .build());
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- return false;
- }
- return true;
- }
- /**
- * 删除存储bucket
- * @return Boolean
- */
- public Boolean removeBucket(String bucketName) {
- try {
- minioClient.removeBucket(RemoveBucketArgs.builder()
- .bucket(bucketName)
- .build());
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- return false;
- }
- return true;
- }
- /**
- * 获取全部bucket
- */
- public List getAllBuckets() {
- try {
- return minioClient.listBuckets();
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- }
- return null;
- }
-
-
-
- /**
- * 文件上传
- *
- * @param file 文件
- * @return Boolean
- */
- public String upload(MultipartFile file) {
- String originalFilename = file.getOriginalFilename();
- if (StringUtils.isBlank(originalFilename)){
- throw new RuntimeException("文件名为空");
- }
- String dateFolder = new SimpleDateFormat("yyyyMMdd").format(new Date());
- String fileHash;
- try {
- fileHash = DigestUtils.md5Hex(file.getInputStream());
- } catch (IOException e) {
- throw new RuntimeException("计算文件哈希值失败", e);
- }
- String fileExtension = StringUtils.substringAfterLast(originalFilename, ".");
- String objectName = String.format("/%s/%s.%s", dateFolder, fileHash, fileExtension);
- try {
- PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(prop.getBucketName()).object(objectName)
- .stream(file.getInputStream(), file.getSize(), -1).contentType(file.getContentType()).build();
- minioClient.putObject(objectArgs);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- throw new RuntimeException("上传Minio失败");
- }
- return objectName;
- }
-
- /**
- * 预览图片
- * @param fileName
- * @return
- */
- public String preview(String fileName){
- // 查看文件地址
- GetPresignedObjectUrlArgs build = new GetPresignedObjectUrlArgs().builder().bucket(prop.getBucketName()).object(fileName).method(Method.GET).build();
- try {
- return minioClient.getPresignedObjectUrl(build);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- }
- return null;
- }
-
- /**
- * 文件下载
- * @param fileName 文件名称
- * @param res response
- * @return Boolean
- */
- public void download(String fileName, HttpServletResponse res) {
- GetObjectArgs objectArgs = GetObjectArgs.builder().bucket(prop.getBucketName())
- .object(fileName).build();
- try (GetObjectResponse response = minioClient.getObject(objectArgs)){
- byte[] buf = new byte[1024];
- int len;
- try (FastByteArrayOutputStream os = new FastByteArrayOutputStream()){
- while ((len=response.read(buf))!=-1){
- os.write(buf,0,len);
- }
- os.flush();
- byte[] bytes = os.toByteArray();
- res.setCharacterEncoding("utf-8");
- res.addHeader("Content-Disposition", "attachment;fileName=" + fileName);
- try (ServletOutputStream stream = res.getOutputStream()){
- stream.write(bytes);
- stream.flush();
- }
- }
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- }
- }
-
- /**
- * 查看文件对象
- * @return 存储bucket内文件对象信息
- */
- public List- listObjects() {
- Iterable> results = minioClient.listObjects(
- ListObjectsArgs.builder().bucket(prop.getBucketName()).build());
- List
- items = new ArrayList<>();
- try {
- for (Result
- result : results) {
- items.add(result.get());
- }
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- return null;
- }
- return items;
- }
-
- /**
- * 删除
- * @param fileName
- * @return
- * @throws Exception
- */
- public boolean remove(String fileName){
- try {
- minioClient.removeObject( RemoveObjectArgs.builder().bucket(prop.getBucketName()).object(fileName).build());
- }catch (Exception e){
- return false;
- }
- return true;
- }
-}
diff --git a/ensign-server/src/main/resources/application-local.yaml b/ensign-server/src/main/resources/application-local.yaml
index c66f457..d63757a 100644
--- a/ensign-server/src/main/resources/application-local.yaml
+++ b/ensign-server/src/main/resources/application-local.yaml
@@ -249,9 +249,3 @@ justauth:
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
-minio:
- endpoint: http://127.0.0.1:9000
- bucketName: video
- accessKey: qTgkym1JPFY53UGEiDP8
- secretKey: swuXwUczZtLt08Qx6ffDzQEhQVEilGCfmcae7bLh
-
diff --git a/ensign-server/src/main/resources/application.yaml b/ensign-server/src/main/resources/application.yaml
index b95d179..1185acd 100644
--- a/ensign-server/src/main/resources/application.yaml
+++ b/ensign-server/src/main/resources/application.yaml
@@ -12,8 +12,8 @@ spring:
servlet:
# 文件上传相关配置项
multipart:
- max-file-size: 5GB # 单个文件大小
- max-request-size: 1TB # 设置总上传的文件大小
+ max-file-size: 16MB # 单个文件大小
+ max-request-size: 32MB # 设置总上传的文件大小
# Jackson 配置项
jackson: