feat(storage): 添加MinIO对象存储支持

实现基于MinIO的对象存储功能,包括:
1. 新增MinioProperties配置类
2. 创建UploadStorage接口及Minio/Local实现
3. 重构MediaLibraryService使用统一存储接口
4. 添加MinIO模式下文件服务控制器
5. 提供docker-compose.minio.yml部署配置
6. 更新文档说明MinIO集成方式

支持本地存储和MinIO对象存储两种模式,可通过upload.storage配置切换
This commit is contained in:
2026-05-07 14:52:06 +08:00
parent 687cf0ba07
commit 4d347fc108
51 changed files with 422 additions and 34 deletions

View File

@@ -56,11 +56,21 @@ knife4j:
setting:
language: zh_cn
# 存储local=本机 uploads | minio=对象存储,见 server/deploy/minio-spring-config.example.yml
upload:
storage: local
path: uploads/
allowed-types: image/jpeg,image/png,image/gif,image/webp,image/svg+xml,video/mp4,video/webm
max-size: 52428800
# 仅 upload.storage=minio 时生效;密钥用环境变量注入,勿提交生产明文
minio:
endpoint: http://127.0.0.1:9000
access-key: minioadmin
secret-key: minioadmin
bucket: wuhan-saga
region: us-east-1
# 新闻中心多站点:单部署实例默认站点;扩展编码时改 allowed-site-codes 与库内数据
app:
portal: