很多开发者在日常工作中都会遇到海量文件的管理难题:安全存储、高效共享、跨平台访问……传统的FTP或简单的网盘方案越来越难以满足现代应用的需求。今天,我们来介绍一个集高性能、高可靠与高度可扩展性于一身的开源文件管理网盘系统——Free FS,看看它如何为企业和团队带来全新的文件管理体验。
简介
Free-FS(全称Free File System)是一个基于 Spring Boot 3.x全栈技术构建的企业级文件管理系统。它不仅仅是一个网盘,更是一套覆盖了从存储、管理、分享到在线预览全链路的文件处理解决方案。
核心特性
1. 极致的文件上传体验
Free-FS在大文件处理方面表现卓越:
- 智能分片上传:自动将大文件分割为小块并行上传,大幅提升传输效率
- 断点续传:网络异常中断后,可从上次中断处继续上传,无需重新开始
- 秒传技术:基于文件MD5哈希值的双重校验,相同文件可实现秒级“上传”
- 实时进度反馈:通过SSE技术实现上传进度的实时精准推送
2. 灵活的多存储支持
采用SPI插件化架构,轻松对接多种存储后端:
- 云存储:阿里云OSS、七牛云Kodo、AWS S3兼容存储
- 自建存储:MinIO、本地文件系统
- 扩展性:5分钟即可接入新的存储平台,真正实现“热插拔”
3. 全面的文件管理功能
- 智能预览:支持图片、文档、音视频、代码文件等数十种格式的在线预览
- 精细权限:基于JWT的用户认证与细粒度文件权限控制
- 回收站机制:支持文件恢复、彻底删除与自动清理
- 分享系统:支持私密链接分享与授权码分享两种模式
- 配额管理:用户级存储空间配额与使用统计
快速开始
环境要求
- 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 中的 MySQL 或 PostgreSQL 和 Redis 配置。
运行
# 启动应用
cd fs-admin
mvn spring-boot:run
# 或使用 IDE 运行 FreeFsApplication
访问服务地址:http://localhost:8080
界面预览






开源地址
https://gitee.com/dromara/free-fs
总的来说,Free FS作为一个功能完备且高度可扩展的 开源实战 项目,为需要自建文件管理系统的团队提供了一个优秀的起点。无论是用于内部知识库搭建,还是作为产品的一部分,它都能有效解决文件管理的核心痛点。如果你对这类全栈项目感兴趣,不妨到云栈社区与其他开发者交流探讨更多技术细节。
|