当前位置: 首页 > news >正文

使用国产开源企业级文件管理系统基于 Spring Boot 3.5.x + Sa-Token + MyBatis Flex

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 17+
  • Maven 3.8+
  • MySQL 8.0+ 或 PostgreSQL 14+
  • Redis
  • LibreOffice(可选,用于 Office 预览)
5.2 安装步骤
gitclone https://gitee.com/dromara/free-fs.gitcdfree-fs mvn cleaninstall-DskipTests
5.3 数据库初始化
  • MySQL
    CREATEDATABASE`free-fs`CHARACTERSET'utf8mb4'COLLATE'utf8mb4_general_ci';
    导入_sql/mysql/free-fs.sql
  • PostgreSQL
    CREATEDATABASEfree-fs ENCODING'UTF8'LC_COLLATE='zh_CN.UTF-8'LC_CTYPE='zh_CN.UTF-8';
    导入_sql/postgresql/free-fs_pg.sql
5.4 配置与运行
  1. 修改fs-admin/src/main/resources/application-dev.yml中的数据库和 Redis 配置。
  2. 启动服务:
    cdfs-admin mvn spring-boot:run
  3. 访问地址:
    • 服务地址:http://localhost:8080
    • API 文档:http://localhost:8080/swagger-ui.html
    • 默认账号:admin/admin

6. 技术架构

6.1 技术栈
  • 后端:Spring Boot 3.5.4 + MyBatis Flex(ORM) + 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.0

8. 总结

优势
  • 功能完整,开箱即用。
  • 大文件上传(分片/断点续传/秒传)。
  • 插件化存储扩展,支持多云切换。
  • 多格式在线预览。
  • Sa-Token 细粒度权限管理。
  • Apache 2.0 开源协议。
局限
  • 需部署数据库(MySQL/PostgreSQL + Redis)。
  • Office 预览需配置 LibreOffice。
适用场景
  • 企业级文件管理系统搭建。
  • 需要多云存储支持。
  • 需要大文件上传与预览能力。
建议

先部署基础版本跑通上传下载流程,再根据需要接入云存储和配置预览功能。


9. 项目地址

  • 后端:https://gitee.com/dromara/free-fs
  • 前端:https://gitee.com/xddcode/free-fs-frontend

提示:建议先体验基础功能,再逐步接入云存储与高级配置。

http://www.jsqmd.com/news/360977/

相关文章:

  • 循环神经网络十年演进
  • 混合云架构中SolidWorks许可证的部署与管理策略
  • 告别构建焦虑!用 Shoelace 打造零配置的现代 Web 应用
  • ‌情感防腐技术:防止老年陪伴AI被悲伤记忆腐蚀‌
  • Neural Networks十年演进
  • STorM32 BGC开源控制器全面解析:从硬件原理到实战优化的3大核心优势
  • 智能字幕生成工具:提升视频本地化效率的Windows解决方案
  • 电视盒子改装实战指南:从系统移植到性能优化的全流程解析
  • 共感半径研究:AI能理解外星生物情绪吗?‌
  • 今日AI+通信+安全 前沿日报(2026 年 02 月 09 日)
  • 闭眼入 10个降AI率软件降AIGC网站:本科生必看的降AI率测评与推荐
  • CVE-2025-47227漏洞利用脚本:ScriptCase密码重置与RCE链分析
  • 直播录制工具全攻略:开源解决方案 BililiveRecorder 高效捕获指南
  • 掌握图像元数据处理:从入门到精通
  • 完整教程:10:00开始面试,10:06就出来了,问的问题有点变态。。。
  • 2026年知名的螺纹不锈钢法兰/高压不锈钢法兰哪家专业工厂直供推荐 - 品牌宣传支持者
  • 3个提速黑科技让你彻底告别百度网盘下载卡顿
  • 【Unity】Vision os开发 Xcode自动填入签名团队
  • PTLGS站点集成配置指南:从入门到精通的系统方法
  • 梯度下降:大模型优化核心引擎,小白也能轻松掌握(收藏版)
  • AI羞耻感应用:用脸红机制阻止系统撒谎的技术实践
  • C++小白训练第十三天
  • 2026年优质的大连家庭搬家公司/大连单位搬家公司怎么选实力厂家推荐 - 品牌宣传支持者
  • 2026年比较好的北京离婚纠纷离婚律师事务所/北京大兴离婚律师推荐几家可靠供应商参考 - 品牌宣传支持者
  • 这次终于选对!巅峰之作的降AI率软件 —— 千笔·专业降AIGC智能体
  • 2026年评价高的北京丰台继承律师事务所/继承律师高评价直销厂家采购指南推荐(高评价) - 品牌宣传支持者
  • 666666
  • ‌情绪勒索防御测试:对抗恶意用户操控AI的情感绑架‌
  • 给AI接上专有知识库:RAG的工程化实现 - 智慧园区
  • 3分钟解锁音频格式转换:跨平台兼容的NCM文件解决方案