文件存储服务
Micro-Fileos 是完整的文件存储微服务模块,基于 Spring Boot 实现,支持阿里云 OSS、AWS S3、S3 兼容协议等多种对象存储服务。通过策略模式实现存储提供商的灵活切换,提供多 Bucket 路由、Hash 去重、分片上传、目录管理、图片处理等企业级功能。
功能特性
- 多存储支持:支持阿里云 OSS、AWS S3、S3 兼容协议(MinIO、ceph 等),通过策略模式实现无缝切换
- 多种上传方式:
- 简单上传:适用于小文件(≤50MB)
- 分片上传:适用于大文件,支持并行上传和断点续传
- 预签名直传:前端直传 OSS,减轻服务端带宽压力
- 签名 URL 生成:支持单文件签名、批量签名、泛型签名,适用于私有文件的安全访问
- 文件下载:支持全量下载和范围下载(断点续传)
- Hash 去重:基于 SHA-256 算法计算文件摘要,相同内容自动复用存储路径
- 目录管理:支持目录树结构,异步维护目录统计信息
- 图片处理:支持图片缩放、裁剪、水印等处理参数(仅阿里云 OSS)
- Bucket 管理:支持多 Bucket 配置、默认 Bucket 自动选择、多租户隔离
适用场景
- 用户头像上传
- 文档附件管理
- 图片资源存储
- 视频文件托管
- 富文本编辑器文件上传
技术栈
- Java 25
- Spring Boot
- MyBatis
- Redis
- 阿里云 OSS SDK
- AWS S3 SDK