易君召
易君召
发布于 2026-07-12 / 17 阅读
0
0

基于Spring Boot大文件上传,支持分片上传、断点续传的开源框架技术选型

基于 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 协议栈


原文链接 https://www.yijunzhao.cn/archives/spring-boot-large-file-upload-sharding-resume-open-source-framework-comparison

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/


评论