文件模块开发

This commit is contained in:
lhx
2025-12-05 13:36:30 +08:00
parent d6360ec710
commit 57c0a652b4
5 changed files with 17 additions and 11 deletions

View File

@@ -1,6 +1,8 @@
package com.dc.dc_project; package com.dc.dc_project;
import com.dc.dc_project.config.MinioConfig;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@@ -4,24 +4,26 @@ package com.dc.dc_project.config;
import io.minio.MinioClient; import io.minio.MinioClient;
import lombok.Data; import lombok.Data;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
@Data @Data
//@ConfigurationProperties(prefix = "minio")
public class MinioConfig { public class MinioConfig {
@Value("${minio.endpoint}") @Value("${minio.endpoint}")
public static String MINIO_ENDPOINT; public String MINIO_ENDPOINT;
@Value("${minio.accessKey}") @Value("${minio.accessKey}")
public static String MINIO_ACCESS_KEY; public String MINIO_ACCESS_KEY;
@Value("${minio.secretKey}") @Value("${minio.secretKey}")
public static String MINIO_SECRET_KEY; public String MINIO_SECRET_KEY;
@Value("${minio.bucketName}") @Value("${minio.bucketName}")
public static String MINIO_BUCKET_NAME; public String MINIO_BUCKET_NAME;
@Bean @Bean

View File

@@ -36,6 +36,7 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File>
implements FileService{ implements FileService{
private final MinioService minioService; private final MinioService minioService;
private final MinioConfig minioConfig;
@Override @Override
@Transactional @Transactional
@@ -64,7 +65,7 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File>
String url = minioService.uploadFile( String url = minioService.uploadFile(
inputStream, inputStream,
FileUtil.getRandomFileName(), FileUtil.getRandomFileName(),
MinioConfig.MINIO_BUCKET_NAME, minioConfig.MINIO_BUCKET_NAME,
file.getContentType(), file.getContentType(),
fileType.getPath() fileType.getPath()
); );
@@ -88,7 +89,7 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File>
// 3. 回滚:删除已上传的文件 // 3. 回滚:删除已上传的文件
for (String url : uploadedUrls) { for (String url : uploadedUrls) {
try { try {
minioService.deleteFile(url, MinioConfig.MINIO_BUCKET_NAME); minioService.deleteFile(url, minioConfig.MINIO_BUCKET_NAME);
log.info("已删除文件: {}", url); log.info("已删除文件: {}", url);
} catch (Exception deleteException) { } catch (Exception deleteException) {
log.error("删除文件失败: {}", url, deleteException); log.error("删除文件失败: {}", url, deleteException);

View File

@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
public class MinioService { public class MinioService {
private final MinioClient minioClient; private final MinioClient minioClient;
private final MinioConfig minioConfig;
/** /**
* 上传文件 * 上传文件
@@ -44,7 +45,7 @@ public class MinioService {
InsufficientDataException e) { InsufficientDataException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
return MinioConfig.MINIO_ENDPOINT + "/" + bucketName + "/" + fileName; return minioConfig.MINIO_ENDPOINT + "/" + bucketName + "/" + fileName;
} }
/** /**
@@ -67,7 +68,7 @@ public class MinioService {
} }
public void deleteFile(String url, String minioBucketName) { public void deleteFile(String url, String minioBucketName) {
String objectName = url.replace(MinioConfig.MINIO_ENDPOINT + "/" + minioBucketName + "/", ""); String objectName = url.replace(minioConfig.MINIO_ENDPOINT + "/" + minioBucketName + "/", "");
try { try {
minioClient.removeObject( minioClient.removeObject(
RemoveObjectArgs.builder() RemoveObjectArgs.builder()

View File

@@ -72,9 +72,9 @@ springdoc:
path: /swagger-ui/index.html # 自定义路径,默认为"/swagger-ui/index.html" path: /swagger-ui/index.html # 自定义路径,默认为"/swagger-ui/index.html"
minio: minio:
endpoint: http://192.168.1.100:9000 endpoint: https://database.yuxindazhineng.com
accessKey: minioadmin accessKey: pk0Vv6DOkSUfRqKT5EPn
secretKey: minioadmin secretKey: YVhVB7seIG2q8R6yHL5CqXGYA448tgHIvtQFhq6X
bucketName: dc-lab-system bucketName: dc-lab-system