Gitee:https://gitee.com/dromara/free-fs
GitHub:https://github.com/dromara/free-fs
- 大文件上传 - 分片上传、断点续传、秒传功能,支持 TB 级文件
- 实时上传进度 - 实时推送上传进度,精确到分片级别
- 秒传功能 - 基于 MD5 双重校验,相同文件秒级完成
- 插件化存储 - SPI 机制热插拔,5 分钟接入一个新存储平台
- 模块化架构 - 清晰的分层设计,易于维护和扩展
- 在线预览 - 支持多种文件格式的在线预览
- 安全可靠 - JWT 认证、权限控制、文件完整性校验
-
文件管理
- 文件上传(分片上传、断点续传、秒传)
- 文件预览
- 文件下载
- 文件夹创建与管理
- 文件/文件夹重命名、移动
- 文件分享/授权码分享
- 文件删除
-
回收站
- 文件还原(支持批量操作)
- 彻底删除(支持批量操作)
- 一键清空回收站
- 自动清理机制
-
存储平台
- 支持多存储平台(本地、MinIO、阿里云 OSS、七牛云 Kodo、S3 体系等)
- 一键切换存储平台
- 平台配置管理
- 存储空间统计
系统默认支持以下多种文件类型的预览:
- 图片: jpg, jpeg, png, gif, bmp, webp, svg, tif, tiff
- 文档: pdf, doc, docx, xls, xlsx, csv, ppt, pptx
- 文本/代码: txt, log, ini, properties, yaml, yml, conf, java, js, jsx, ts, tsx, py, c, cpp, h, hpp, cc, cxx, html, css, scss, sass, less, vue, php, go, rs, rb, swift, kt, scala, json, xml, sql, sh, bash, bat, ps1, cs, toml Markdown: md, markdown
- 音视频: mp4, avi, mkv, mov, wmv, flv, webm, mp3, wav, flac, aac, ogg, m4a, wma
- 压缩包: zip, rar, 7z, tar, gz, bz2 (支持查看目录结构)
- 其他: drawio
- JDK >= 17
- Maven >= 3.8
- MySQL >= 8.0 或 PostgreSQL >= 14
- Redis
# 克隆项目
git clone https://gitee.com/dromara/free-fs.git
# 进入项目目录
cd free-fs
# 编译项目
mvn clean install -DskipTests-
初始化数据库
# mysql mysql -u root -p < _sql/mysql/free-fs.sql
# postgresql psql -U postgres -c "CREATE DATABASE free-fs;" psql -U postgres -d free-fs -f _sql/postgresql/free-fs_pg.sql
-
修改配置文件
修改
fs-admin/src/main/resources/application-dev.yml中的数据库和 Redis 配置
# 启动应用
cd fs-admin
mvn spring-boot:run
# 或使用 IDE 运行 FreeFsApplication访问:
| 账号 | 密码 |
|---|---|
| admin | admin |
| 功能 | 效果图 | 效果图 | 效果图 |
|---|---|---|---|
| 登录 | ![]() |
![]() |
![]() |
| 首页 | ![]() |
||
| 我的文件 | ![]() |
![]() |
|
| 回收站 | ![]() |
![]() |
|
| 分享文件 | ![]() |
![]() |
![]() |
| 移动文件 | ![]() |
||
| 传输 | ![]() |
||
| 存储平台 | ![]() |
![]() |
![]() |
| 个人信息 | ![]() |
![]() |
free-fs/
├── fs-admin/ # Web 管理模块
├── fs-dependencies/ # 依赖版本管理(BOM)
├── fs-framework/ # 框架层
│ ├── fs-common-core/ # 公共核心模块
│ ├── fs-notify/ # 通知模块
│ ├── fs-orm/ # ORM 配置模块
│ ├── fs-preview/ # 预览封装模块
│ ├── fs-redis/ # Redis 配置模块
│ ├── fs-security/ # 安全认证模块
│ ├── fs-swagger/ # API 文档配置
│ ├── fs-sse/ # SSE 支持
│ └── fs-storage-plugin/ # 存储插件框架
│ ├── storage-plugin-core/ # 插件核心接口
│ ├── storage-plugin-local/ # 本地存储插件
│ ├── storage-plugin-aliyunoss/ # 阿里云 OSS 插件
│ └── storage-plugin-rustfs/ # RustFS 插件
└── fs-modules/ # 业务模块
├── fs-file/ # 文件管理模块
├── fs-storage/ # 存储平台管理模块
├── fs-system/ # 系统管理模块
├── fs-log/ # 日志模块
└── fs-plan/ # 计划任务模块
我们欢迎所有的贡献,无论是新功能、Bug 修复还是文档改进!
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的改动 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
- 遵循阿里巴巴 Java 开发手册
- 使用 Lombok 简化代码
- 编写清晰的注释
- 提交信息遵循 Conventional Commits
feat: 新功能
fix: 修复 Bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
perf: 性能优化
test: 测试相关
chore: 构建/工具链更新
如果你发现了 Bug 或有功能建议,请通过以下方式反馈:
本项目采用 Apache License 2.0 协议开源。
- Spring Boot - 感谢 Spring 团队
- MyBatis Flex - 感谢 MyBatis Flex 团队
- Sa-Token - 感谢 Sa-Token 团队
- 所有贡献者和使用者
- enjoy-iot 开源物联网平台,完整的IoT解决方案 - * https://gitee.com/open-enjoy/enjoy-iot*
-
GitHub: @Freedom
-
Gitee: @Freedom
-
Email: xddcodec@gmail.com
-
微信:
添加微信,请注明来意
- 微信群:
- 微信公众号:
如果你认为 free-fs 项目可以为你提供帮助,或者给你带来方便和灵感,或者你认同这个项目,可以为我的付出赞助一下哦!
请给一个 ⭐️ 支持一下!
Made with ❤️ by @xddcode





















