项目介绍
Free FS 是一个基于 Spring Boot 3.x 的现代化企业级文件管理网盘系统后端,致力于提供高性能、高可靠的文件存储和管理服务。项目采用模块化架构设计,支持插件化存储,易于维护和扩展,满足企业多样化的文件管理需求。
应用场景
Free FS 适用于多种企业级文件管理场景,包括但不限于:
-
-
企业内部文件共享:提供安全可靠的文件存储和共享平台,支持多部门、多用户之间的文件协作。 -
云存储服务:作为云存储服务的后端,支持大规模文件存储和访问,满足个人和企业用户的云存储需求。 -
多媒体内容管理:支持多种文件格式的在线预览,适用于多媒体内容的管理和分发。
-
-
数据备份与恢复:提供文件备份和恢复功能,确保企业数据的安全性和可用性。
功能模块
Free FS 包含以下主要功能模块:
-
文件管理模块: -
文件上传(支持分片上传、断点续传、秒传) -
文件预览 -
文件下载 -
文件夹创建与管理 -
文件/文件夹重命名、移动 -
文件分享/授权码分享 -
文件删除 -
回收站管理(文件还原、彻底删除、一键清空回收站) -
自动清理机制
-
-
存储平台管理模块: -
支持多存储平台(本地、MinIO、阿里云 OSS、七牛云 Kodo、S3 体系等) -
一键切换存储平台 -
平台配置管理 -
存储空间统计
-
-
系统管理模块: -
用户管理 -
角色管理 -
权限管理 -
日志管理 -
计划任务管理
-
功能特点
-
大文件上传: -
支持分片上传、断点续传、秒传功能,轻松应对 TB 级文件上传需求。 -
实时推送上传进度,精确到分片级别,提升用户体验。
-
-
秒传功能: -
基于 MD5 双重校验,实现相同文件的秒级完成上传,节省带宽和时间。
-
-
插件化存储: -
采用 SPI 机制实现热插拔,5 分钟即可接入一个新存储平台,灵活扩展存储能力。
-
-
模块化架构: -
清晰的分层设计,易于维护和扩展,降低系统复杂度。
-
-
在线预览: -
支持多种文件格式的在线预览,包括图片、文档、文本/代码、音视频、压缩包等,提升文件访问效率。
-
-
安全可靠: -
采用 JWT 认证机制,确保用户身份的安全性和合法性。 -
严格的权限控制,确保文件访问的权限管理。 -
文件完整性校验,确保文件在传输和存储过程中的完整性和一致性。
-
项目结构
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/ # 计划任务模块
项目技术栈
-
后端框架:Spring Boot 3.x -
数据库:MySQL 8.0+ 或 PostgreSQL 14+ -
缓存:Redis -
构建工具:Maven 3.8+ -
开发语言:Java(遵循阿里巴巴 Java 开发手册) -
代码简化:Lombok -
API 文档:Swagger -
安全认证:Sa-Token -
通知机制:SSE(Server-Sent Events) -
持久层框架:MyBatis Flex -
开源协议:Apache License 2.0
功能演示










开源地址
https://gitee.com/dromara/free-fs

