vue3基于elementPlus结合业务实现视频上传器

2,275 阅读1分钟

1. HTML

  • 使用elementPlus的upload上传组件
  • 使用插槽加入视频上传限制的提示
  • 使用原生h5的video视频播放标签
  • 加上上传视频后的遮罩层和点击预览和删除的按钮,以及遮罩层和播放器的判断切换显示

image.png

upload组件函数解析

image.png

2. TS(函数)

  • 上传视频前进行校验,调用自己写好的校验工具
  • 上传时获取的文件数据,给双向绑定的文件地址赋值,且获取到地址后将遮罩层显示出来,方便点击预览和删除
  • 声明绑定ref,调用uoload的列表清除方法, 清除列表,再手动清空表单数据 import useFileUpload from '@/lib/useFileUpload'; const { photoUpload, fileUpload, videoUpload } = useFileUpload();

校验函数解析:

  1. 判断这个文件的的size属性,做文件大小校验
  2. 使用正则表达式和test,去校验该文件是否以视频为后缀结束
  3. new一个FormData去传数据,使用formdata可以在network中看到添加带数据类型等各类标识的文件类型字符串请求体,告诉服务端接收对象是一个文件数据流
  4. 最后调用后端写好的文件上传接口,获取公司文件上传的url地址

image.png image.png

image.png image.png

image.png

image.png

image.png

image.png