服务公告

服务公告 > 常见问题 > 文件上传中断后继续:断点续传的实现

文件上传中断后继续:断点续传的实现

发布时间:2026-02-01 14:07
## 两条路线的对比 大文件上传中断后从头再来,体验与带宽都是双重浪费,续传有两条经典路线。分片上传把文件切成小块逐片提交,中断后从未完成的片继续,服务端收齐再合并;字节范围续传则保持文件完整,客户端记住已上传的位置,用请求头声明从哪个字节继续,服务端校验后追加写入。前者工程可控性高,进度粒度细,天然适合浏览器端;后者实现简洁,服务端只需支持范围语义,更适合服务器间传输与命令行工具。 ## 各自的适用面 面向用户的产品上传,选分片:并发上传提速、单片失败重试、秒传与暂停恢复都好做,代价是服务端要做片的登记与合并逻辑,接口设计更重。运维侧与程序间的搬运,用范围续传:命令行下载工具天然支持断点参数,上传用脚本配合服务端的范围处理即可,链路简单出问题好查。数据完整性两边都要校验,分片靠整体哈希,范围续传靠已传部分的指纹比对,校验通过再确认成功,这是续传正确性的最后一关。 ## 实操示例 命令行工具的续传参数。 ``` curl -C - -O 远端文件地址 ``` -C 加横线表示自动推断本地已有部分并续传。服务端支持范围请求与否,用响应头判断,支持范围读取的服务端才会声明接受字节范围。 ## 选择建议 按调用方定型:浏览器场景上分片,脚本与服务器间用范围续传,混合业务则接口层统一成分片、内部搬运用范围,两套并存但边界清晰。上传频率高、单文件大的业务,续传能力上线前先用弱网模拟测试中断恢复的准确性。顺云云服务器之间同步大文件时,把续传参数与校验步骤写进同步脚本,网络闪断不再意味着整夜白跑。