基于 Spring Boot 的大文件分片上传、断点续传开源方案主要分为两类:可直接集成的 Starter 组件 和 可二次开发的完整项目脚手架,以下是主流成熟的选型:
一、开箱即用 Spring Boot Starter 组件
直接引入 Maven 依赖即可集成,无需从零搭建上传逻辑,适合快速落地业务。
1. X-File-Storage(Dromara 开源,通用首选)
定位:国内生态最完善的通用文件存储 Spring Boot Starter,Apache 2.0 开源协议,社区活跃
核心能力:
原生完整支持分片上传、断点续传、秒传,提供「初始化分片→上传分片→列举已上传分片→合并 / 取消分片」全生命周期 API
兼容 20+ 存储平台(本地磁盘、MinIO、阿里云 OSS、腾讯云 COS、七牛云、AWS S3 等),一套 API 无缝切换存储
支持并发分片上传、自定义分片大小、上传会话管理、幂等性校验
适用场景:绝大多数业务项目,尤其是需要兼容多种存储、不想重复造轮子的场景
核心依赖:
<dependency>
<groupId>org.dromara.x-file-storage</groupId>
<artifactId>x-file-storage-spring</artifactId>
<version>最新版本</version>
</dependency>
2. gomyck-fastdfs-spring-boot-starter
定位:FastDFS 专属 Spring Boot 集成组件
核心能力:内置断点续传、分片上传、文件秒传、并发上传文件锁,配套前端 H5 上传组件
适用场景:存储层已确定使用 FastDFS 的存量项目
局限:仅绑定 FastDFS,不支持其他存储介质
3. tus-java-server(标准协议实现)
定位:基于 tus 国际标准断点续传协议的 Java 服务端实现,兼容 Servlet 3.1+ 容器
核心能力:严格遵循 tus 协议,原生支持断点续传,客户端生态丰富(Web、Android、iOS 均有成熟客户端)
适用场景:需要跨端统一上传协议、面向公网不稳定网络的场景
注意:无官方 Spring Boot Starter,需自行封装适配层,集成成本略高
二、完整开源项目 / 脚手架(可直接运行、二次开发)
前后端完整的项目,包含数据库设计、接口、前端页面,可直接部署或基于此改造。
1. minio-spring-web
技术栈:Spring Boot 3.x + Redis + MinIO + MyBatis-Plus;前端提供 Vue3 / React 双版本
核心能力:分片上传、断点续传、秒传、分片下载、断点下载
特点:代码精简无冗余,分层清晰,专注 MinIO 场景,前后端逻辑完整可直接复用
适用场景:基于 MinIO 构建大文件上传服务,快速落地业务
2. Free-FS
技术栈:Spring Boot 3.5.x + Sa-Token + MyBatis Flex
核心能力:企业级文件管理系统,内置大文件分片上传、断点续传、秒传,SSE 实时推送上传进度
特点:插件化多云存储、细粒度权限控制、多格式文件预览,功能完整度高
适用场景:需要完整文件管理后台,而非仅上传接口的企业级项目
3. minio-upload
技术栈:Spring Boot 3.x + MinIO + MySQL + Knife4j;原生 JS 前端页面
核心能力:普通上传、分片上传、断点续传、秒传、拖拽上传、基础文件管理
特点:轻量易部署,自带接口文档和可视化前端,适合快速搭建原型 Demo
4. 若依版 file-uploader
技术栈:Spring Boot 2.x(若依框架) + MySQL + Vue2 + vue-uploader
核心能力:多文件队列上传、断点续传、秒传、暂停 / 重试、上传进度预估
特点:自带权限体系,适配若依生态,适合已有若依技术栈的项目

三、选型建议
通用业务、多存储兼容、长期维护:首选 X-File-Storage,社区活跃、功能全面、踩坑少
MinIO 技术栈、追求轻量:选 minio-spring-web,前后端齐全,代码质量高
企业级完整文件管理系统:选 Free-FS,功能覆盖全,可直接作为产品交付
FastDFS 存量项目:选 gomyck-fastdfs-starter
跨端公网场景、需要标准协议:选 tus 协议栈
欢迎访问 小易撩挨踢