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

之前分享过一篇使用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 兼容存储

这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot3 + Vue3 的电商系统(Github标星60K),后端支持多模块和微服务架构,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

项目演示:

安装

后端

运行后端项目前,请先安装好mysql 8.0以上版本及redis。

  • 然后在mysql中创建数据库free-fs,将项目中_sql/mysql/free-fs.sql脚本导入到数据库中;

  • 之后修改fs-admin模块下的配置文件application-dev.yml,将其中的mysql和redis连接配置修改成自己的;

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

前端

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

使用

控制台

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

文件管理

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

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

存储平台

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

分享

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

回收站

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

预览支持

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

docx预览

pptx预览

pdf预览

总结

Free FS 凭借其现代化的技术栈、灵活的插件化架构以及丰富的功能特性,为企业和个人提供了一套高效、安全的文件管理解决方案,感兴趣的小伙伴可以尝试下它!

项目地址

gitee.com/dromara/fre...

相关推荐
invicinble1 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
小码哥_常1 小时前
MyBatis-Plus:让数据库操作飞起来的神器
后端
wbs_scy1 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
ss2732 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
2301_811274312 小时前
基于SpringBoot的智能家居管理系统
spring boot·后端·智能家居
毕设源码_古学姐2 小时前
计算机毕业设计springboot智能家居项目管理系统 基于SpringBoot的智能家居项目管理平台设计与实现 SpringBoot技术驱动的智能家居项目管理系统开发
spring boot·智能家居·课程设计
毕设源码-张学姐2 小时前
计算机毕业设计springboot智能家居设备信息管理系统 基于SpringBoot的智能家居设备全生命周期管理平台 面向智慧家庭的SpringBoot设备资产与场景运营系统
spring boot·智能家居·课程设计
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
舒一笑2 小时前
我把设备指纹生成逻辑拆开了:它到底凭什么区分不同设备?
后端·程序员·掘金技术征文
try2find2 小时前
打印ascii码报错问题
java·linux·前端