Free-FS企业级文件管理系统后端1. 项目概述Free-FS 是一个基于Spring Boot 3.5 MyBatis Flex Sa-Token React/Vue构建的企业级文件管理系统后端提供大文件分片上传、多格式预览、多云存储支持、权限控制等功能并配套 Vue 3 前端。2. 核心术语术语含义分片上传将大文件切割为多个小块分别上传网络中断后只需上传未完成的分片。断点续传记录上传进度中断后从断点继续无需重新上传整个文件。秒传通过文件哈希值如 MD5校验若服务器已有相同文件直接建立引用无需重复上传。3. 解决的问题大文件上传困难传统方式网络中断需重新上传。存储平台绑定单一云存储切换成本高。预览能力弱仅支持少数格式Office/PDF 预览需额外配置。权限管理粗糙缺乏细粒度权限控制。部署复杂依赖多、配置繁琐。4. 核心功能4.1 文件管理支持列表视图与网格视图。文件分类、标签、搜索。4.2 大文件上传与秒传前端分片并行上传后端通过SSE 实时推送进度。断点续传记录每个分片状态续传从断点继续。秒传计算文件哈希服务器已有相同文件时直接建立引用。4.3 多云存储插件化SPI 插件化设计存储能力抽象为统一接口。内置支持本地存储、阿里云 OSS、七牛云 Kodo、AWS S3、RustFS。支持多存储平台并存新增平台只需实现接口无需修改主业务代码。4.4 在线预览类型支持格式图片JPG/PNG/GIF/WebP/SVG 等Office 文档DOC/DOCX/XLS/XLSX/PPT/PPTX需 LibreOffice文本代码30 种编程语言语法高亮音视频流式播放压缩包目录结构查看4.5 权限与安全基于Sa-Token的权限认证支持 JWT 无状态会话。细粒度权限控制文件查看、下载、编辑、删除等操作。4.6 文件分享与回收站分享模式公开链接、授权码可设有效期、访问次数。回收站支持批量还原、永久删除、自动清理。5. 安装与快速上手5.1 环境要求JDK 17Maven 3.8MySQL 8.0 或 PostgreSQL 14RedisLibreOffice可选用于 Office 预览5.2 安装步骤gitclone https://gitee.com/dromara/free-fs.gitcdfree-fs mvn cleaninstall-DskipTests5.3 数据库初始化MySQLCREATEDATABASEfree-fsCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;导入_sql/mysql/free-fs.sql。PostgreSQLCREATEDATABASEfree-fs ENCODINGUTF8LC_COLLATEzh_CN.UTF-8LC_CTYPEzh_CN.UTF-8;导入_sql/postgresql/free-fs_pg.sql。5.4 配置与运行修改fs-admin/src/main/resources/application-dev.yml中的数据库和 Redis 配置。启动服务cdfs-admin mvn spring-boot:run访问地址服务地址http://localhost:8080API 文档http://localhost:8080/swagger-ui.html默认账号admin/admin6. 技术架构6.1 技术栈后端Spring Boot 3.5.4 MyBatis FlexORM Sa-Token认证数据库MySQL 8.0 / PostgreSQL 14缓存Caffeine本地缓存 Redis分布式缓存存储插件SPI 设计支持多云存储扩展6.2 项目结构free-fs/ ├── fs-admin # 管理后台 ├── fs-api # API 模块 ├── fs-common # 通用工具 ├── storage-plugin-core # 存储插件接口 ├── storage-plugin-local # 本地存储实现 └── ... # 其他存储插件7. 与其他方案对比维度Free-FSMinIONextcloudSeafile技术栈Spring Boot 3.xGoPHPGo/C定位文件管理后端对象存储完整网盘完整网盘大文件上传分片/断点续传/秒传需自行实现支持支持在线预览多格式支持需自行实现支持支持多云存储插件化切换单一支持支持权限管理Sa-Token 细粒度简单细粒度细粒度部署难度中等需数据库低中等中等开源协议Apache 2.0AGPL v3AGPL v3GPL-3.08. 总结优势功能完整开箱即用。大文件上传分片/断点续传/秒传。插件化存储扩展支持多云切换。多格式在线预览。Sa-Token 细粒度权限管理。Apache 2.0 开源协议。局限需部署数据库MySQL/PostgreSQL Redis。Office 预览需配置 LibreOffice。适用场景企业级文件管理系统搭建。需要多云存储支持。需要大文件上传与预览能力。建议先部署基础版本跑通上传下载流程再根据需要接入云存储和配置预览功能。9. 项目地址后端https://gitee.com/dromara/free-fs前端https://gitee.com/xddcode/free-fs-frontend提示建议先体验基础功能再逐步接入云存储与高级配置。