Skip to content

BizUploadVideo 视频上传 ​

单视频上传:格式 / 大小 / 时长三重前置校验(时长经本地 metadata 读取)、选择后自动封帧生成封面(dataURL,v-model:poster 同步)、上传中遮罩、video 预览卡(poster / controls)。上传实现由业务侧 request 注入(组件零接口),v-model 视频地址直接进表单提交。与 BizUploadImage 同族。

基础用法 ​

上传视频
支持 mp4 / mov / webm,不超过 200MB、10 分钟;选择后自动截取首帧作为封面
v-model:(空)
封面:(空)
request 返回视频地址即入预览卡;封帧封面自动生成(后端若需要封面文件,可由业务侧把 dataURL 转存)。

编辑回显 · 尺寸变量 · 关闭封帧 ​

编辑态:已有视频直接回显(poster 可传外链封面);删除后出现「重新上传」触发块
编辑态传 model-value + poster(外链)直接回显;css 变量 --biz-upload-video-width 控制卡片宽。

课件上传(时长上限) ​

上传课件视频
课程课件:mp4 / mov / webm,≤1GB、时长 ≤30 分钟;选后自动截取首帧为课程封面
30 分钟 / 1GB 上限 + tip 说明拍摄要求(在线课程场景)。

设计出图封面 ​

上传正片
capture=false 关闭自动封帧,封面走设计出图外链
capture=false 关闭自动封帧,poster 外链由素材库统一选择。

时长校验演示 ​

上传短视频
视频动态素材:时长 ≤10 秒(本地长视频会被拦截,error 事件拿到原因)
max-duration=10 秒极易触发:本地长视频被拦截,error 事件拿到原因。

表单集成 ​

标题
正片
上传视频
el-form 必填 + 提交同时携带视频地址与封面 dataURL。

Props ​

属性名类型默认值说明
model-value / v-modelstring''视频地址
request(file: File) => Promise<string>—必填。上传实现(业务接口在业务侧)
acceptstring'video/mp4,…'接受的类型
max-sizenumber200大小上限(MB)
max-durationnumber600时长上限(秒)
posterstring''封面地址(展示用)
capturebooleantrue选择后自动封帧,update:poster 同步 dataURL
tipstring''底部提示
trigger-textstring'上传视频'触发块文案

其余属性(name / headers / limit…)经 v-bind="$attrs" 透传 el-upload。

Events ​

事件名参数说明
update:model-value(url: string)视频地址变化(删除时为空串)
update:poster(poster: string)封面变化(封帧 dataURL / 删除清空)
error(message: string)校验不过 / 上传失败

Slots ​

插槽名说明
—无插槽

Expose ​

属性/方法说明
onRemove() => void 清空视频与封面