首页/云/云平台与虚拟化速查/分片上传:大文件上传机制

分片上传:大文件上传机制

分片上传把大对象切成多块并行上传,再合并成完整对象;断点续传、并行提速都基于该机制,各厂商规则细节略有差异。

云平台与虚拟化速查云更新于 2026-10-13

分片上传是什么

分片上传(multipart upload)把大文件切成多个分片并发上传,全部分片成功后再由服务端合并为一个对象。它解决三件事:单次请求体过大容易失败、支持断点续传、以及并发上传提升速度。需要特别注意的是,中断的上传会留下未完成分片(碎片),必须显式取消或靠生命周期规则清理,否则持续占用桶容量并计费。

基本信息

阿里云 OSS分片 1-10000 块,每块 100 KB - 5 GB(末块可更小)
腾讯云 COS分块 1-10000 块,块大小规则以官方文档为准
完成条件所有分片上传成功后才合并为对象,未完成不产生完整对象
中断处理未完成分片成为碎片,需手工取消或配置生命周期清理
工具支持SDK 与命令行工具通常自动分片并支持断点续传

典型使用场景

  • 上传视频、备份包、数据集等超过单请求限制的大文件
  • 弱网或跨国链路下需要断点续传,避免失败后整包重传
  • 用并发分片提升大文件上传速度,缩短交付窗口
  • 排查桶容量占用时清点未完成分片产生的碎片
  • 对长期存在的碎片配置生命周期规则自动清理

分片上传四步

分片上传四步
# 1 初始化:创建 multipart 任务,拿到 uploadId
# 2 分片上传:并发上传各分片,记录每片的序号与 ETag
# 3 完成:按分片序号升序提交 ETag 列表,服务端合并成对象
# 4 中止:任一环节放弃时调用 abort,释放已上传分片
# 清点碎片:SDK 或 ossutil 的 list multipart uploads 接口

规则与异常

对象正常表现异常表现
分片大小落在允许区间内(如 100 KB - 5 GB)超出范围时接口直接报错
分片数量不超过 1 万块文件极大且分片过小,触发数量上限
ETag 顺序按分片序号升序提交顺序错乱导致合并结果损坏或完成接口报错
碎片上传流程结束后为 0残留碎片长期占用桶容量并产生费用
网络中断后直接重传整个文件会造成重复流量与更长耗时;应使用 SDK 的断点续传能力,或自行记录 uploadId 与已成功分片之后续传。
自定义分片大小时必须落在厂商允许区间内;并发数过高会挤占带宽并可能触发限流,建议按链路质量与目标带宽调整并发数。

易错点

  • 上传中断后不清理碎片,桶容量被未完成分片占用并持续计费
  • 自定义分片大小超出规则范围,接口直接报错
  • 分片过小导致分片数超过 1 万上限,大文件上传任务中途失败
  • 完成阶段未按序号升序提交 ETag,合并出的对象内容损坏

数据来源与参考

  • 阿里云 OSS 分片上传文档
  • 腾讯云 COS 分块上传文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌