Skip to content

BizChunkUpload 分片上传 ​

大文件分片上传(断点续传):init 探测 → chunk 并发单片 → finish 合并 三段契约(协议由业务侧对接后端,组件零接口)。init 返回已传分片即续传、返回完整地址即秒传;hash prop 可注入文件指纹;暂停 / 继续 / 取消 / 失败重试(重试只发未完成分片)。

基础用法 ​

大文件自动切片并发上传;暂停后继续只传未完成分片(断点续传)
chunk-size 切片、concurrent 并发池;暂停后继续只传未完成分片。

秒传 · 失败重试 ​

init 返回 fileUrl 直接完成(同名命中秒传);首片 mock 失败演示错误态与重试续传。

指纹秒传 ​

hash prop 注入指纹计算,init 命中已存在文件 0 分片完成。

外部控制 ​

外部读取进度:0%
上传中点暂停 / 继续 / 取消,进度面板状态同步变化(选择 >1MB 文件体验分片过程)
expose pause/resume/cancel + percent 实时读取(自绘控制条场景)。

并发对比 ​

并发数:
每片 mock 300ms:同样片数下总耗时随并发显著下降(选择 >1MB 文件体验)
concurrent 1/3/6 切换体验吞吐差异(网络窗口与后端压力权衡)。

表单集成 ​

课程名
正片
el-form 必填 + 上传完成才可提交(在线课程大附件发布)。

Props ​

属性名类型默认值说明
model-value / v-modelstring''上传完成后的文件地址
requestBizChunkUploadRequest—必填。init(可选探测)/ chunk / finish 三段契约
chunk-sizenumber5单片大小(MB)
max-sizenumber2048大小上限(MB)
concurrentnumber3并发上传分片数
acceptstring—接受的文件类型
hash(file: File) => Promise<string>—文件指纹(秒传判定;未注入 meta 无 hash)
tip / button-textstring'' / 上传大文件提示与按钮文案

BizChunkUploadRequest:init?(meta) => Promise<{ uploaded?: number[]; fileUrl?: string }>、chunk(blob, meta & { index }) => Promise<void>、finish(meta) => Promise<string>;BizChunkMeta 含 name / size / chunkSize / chunkCount / hash?。

Events ​

事件名参数说明
update:model-value(url: string)地址变化
success(url: string)上传完成(含秒传)
error(message: string)上传失败

Slots ​

插槽名说明
—无插槽

Expose ​

属性/方法说明
pause / resume / retry / cancel暂停 / 继续 / 重试 / 取消重置
percent / uploadedCount进度百分比 / 已传分片数

注意:request 为 Promise 注入,无法真正中断在途请求——暂停语义为停发后续分片(在途分片自然完成)。