把文件切成固定大小的分片,每片带序号上传,服务端记录已收到的分片;续传时先问哪些分片已有,只补缺的。
分片建议 1 到 5 MB,太小请求数暴增,太大失败重传贵;整个文件用内容哈希做标识才能认出同一文件。
最后一片传完再触发合并,服务端按序号乘偏移写入同一文件。
接口都要幂等,客户端重试才不会产生重复分片。
GET /upload/status?fileHash=<sha256> -> { "uploaded": [0,1,3] }
POST /upload/chunk fileHash, index, total, blob
POST /upload/merge fileHash, fileName, total
# 服务端先把文件长度扩到总大小,再按 index*chunkSize 偏移写入
THE END






暂无评论内容