又一款企业级文件管理系统诞生了!支持万能文件在线预览,太香了!

Boot+Cloud项目学习:macrozheng.com
之前分享过一篇使用MinIO+kkFileView实现文件存储和预览的解决方案,这种方案面临着扩展性差、维护成本高、多平台兼容性等缺点。 最近发现Free FS能解决这些痛点,而且是一套现代化的分布式文件存储解决方案,分享给大家!
Free FS简介
Free FS 是一个基于 Spring Boot 3.x 的企业级文件管理系统,专注于提供高性能、高可靠的文件存储和管理服务。
Free FS核心特性如下:
-
大文件上传:支持分片上传、断点续传、秒传功能,轻松应对 TB 级文件。 -
插件化存储:基于 SPI 机制,5 分钟即可接入新存储平台(本地、OSS、S3 等)。 -
模块化架构:清晰的分层设计,代码结构简洁,易于维护和二次开发。 -
安全可靠:集成 JWT 认证、完善的权限控制体系及文件完整性校验。 -
实时进度:通过 SSE 技术实时推送上传进度和系统通知,用户体验流畅。
下面是Free FS使用过程中的效果图,功能还是挺强大的!

技术栈
Free FS 采用了现阶段主流的前后端分离技术栈实现,具体技术栈如下:
-
后端:Spring Boot 3.5.4 + MyBatis Flex + Sa-Token -
前端:React 19 + TypeScript + Vite 6 + shadcn/ui -
存储支持:本地存储、阿里云 OSS、RustFS、七牛云 Kodo 及各类 S3 兼容存储
安装
后端
运行后端项目前,请先安装好mysql 8.0以上版本及redis。
-
首先下载项目源码,下载完成后将项目导入IDEA中,下载地址:https://gitee.com/dromara/free-fs

-
然后在mysql中创建数据库
free-fs,将项目中_sql/mysql/free-fs.sql脚本导入到数据库中; -
之后修改
fs-admin模块下的配置文件application-dev.yml,将其中的mysql和redis连接配置修改成自己的;

-
最后通过FsAdminApplication中的main方法来运行后端项目。

前端
-
首先下载项目源码,下载完成后将项目导入VSCode中,下载地址:https://gitee.com/xddcode/free-fs-frontend

-
之后通过如下命令安装依赖并运行项目:
# 安装依赖pnpm indall# 运行项目pnpm dev
-
运行成功后即可访问项目的web页面了,默认账号密码为 admin/admin,访问地址:http://localhost:5173

使用
控制台
登录成功后即可通过控制台查看存储的概览信息。

文件管理
上传支持点击或拖拽多个文件上传,操作方便。

支持列表和网格两种视图显示。

存储平台
支持多个存储平台自由切换,默认为本地存储,可切换为阿里云OSS等云存储。

分享
右键文件选择分享,可以生成分享链接。

回收站
具有类似windows的回收站功能,误删文件可轻松找回。

预览支持
支持多种文件的在线预览,堪称万能文件预览神器。

docx预览

pptx预览

pdf预览

总结
Free FS 凭借其现代化的技术栈、灵活的插件化架构以及丰富的功能特性,为企业和个人提供了一套高效、安全的文件管理解决方案,感兴趣的小伙伴可以尝试下它!
项目地址
https://gitee.com/dromara/free-fs
欢迎大家加入我的知识星球,通过项目实战提升技术能力,加入方式:长按或扫描下方二维码!

目前星球内有两套学习教程(文档+视频),涵盖Spring Boot到Spring Cloud的学习。
下面是项目的微服务架构图,感兴趣的小伙伴不妨了解下!


夜雨聆风
