1. HTML
- 使用elementPlus的upload上传组件
- 使用插槽加入视频上传限制的提示
- 使用原生h5的video视频播放标签
- 加上上传视频后的遮罩层和点击预览和删除的按钮,以及遮罩层和播放器的判断切换显示
upload组件函数解析
2. TS(函数)
- 上传视频前进行校验,调用自己写好的校验工具
- 上传时获取的文件数据,给双向绑定的文件地址赋值,且获取到地址后将遮罩层显示出来,方便点击预览和删除
- 声明绑定ref,调用uoload的列表清除方法, 清除列表,再手动清空表单数据
import useFileUpload from '@/lib/useFileUpload';
const { photoUpload, fileUpload, videoUpload } = useFileUpload();
校验函数解析:
- 判断这个文件的的size属性,做文件大小校验
- 使用正则表达式和test,去校验该文件是否以视频为后缀结束
- new一个FormData去传数据,使用formdata可以在network中看到添加带数据类型等各类标识的文件类型字符串请求体,告诉服务端接收对象是一个文件数据流
- 最后调用后端写好的文件上传接口,获取公司文件上传的url地址