feat(file): 实现文件上传下载功能

- 新增文件上传接口,支持MultipartFile格式文件上传至MinIO
- 新增文件下载接口,根据文件路径返回对应资源
- 集成MinIO客户端,实现文件存储与获取
- 添加文件信息服务,记录文件元数据
- 引入SpringDoc OpenAPI,为文件接口提供文档支持
- 配置Maven插件,生成源码包和JavaDoc包
- 升级项目版本至1.5,统一依赖管理
This commit is contained in:
zkh
2025-12-06 11:54:40 +08:00
parent fe2240e266
commit 042ef9a81e
17 changed files with 484 additions and 12 deletions

View File

@ -0,0 +1,23 @@
package vip.jcfd.file.config;
import io.minio.MinioClient;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import vip.jcfd.file.config.props.MinioProps;
@Configuration
@ConfigurationPropertiesScan(basePackageClasses = {MinioProps.class})
public class MinioConfig {
@Bean
@ConditionalOnProperty(name = "minio.endpoint")
public MinioClient minioClient(MinioProps minioProps) {
return MinioClient.builder()
.endpoint(minioProps.endpoint())
.credentials(minioProps.accessKey(), minioProps.secretKey())
.build();
}
}

View File

@ -0,0 +1,7 @@
package vip.jcfd.file.config.props;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "minio")
public record MinioProps(String endpoint, String accessKey, String secretKey, String bucket) {
}