before-upload 上传文件之前的钩子,参数为上传的文件, 若返回false或者返回 Promise 且被 reject,则停止上传。

before-upload 是异步函数 返回false 依然会请求上传接口 所以要返回Promise.reject() 停止上传

上传前格式 大小校验 校验不通过停止上传

const beforUploadFileVideo = (file) => {
  return new Promise((resolve, reject) => {
    const isType =
      /\.(wmv|rm|rmvb|mov|mp4|flv|3gp|mkv|avi|f4v|webv|mepg)$/.test(file.type);
    const isLt2M = file.size / 1024 / 1024 < 200;
    //图片上传之前的校验
    if (!isType) {
      // 限制文件类型校验
      ElMessage.error("视频上传格式不对!");
      return reject(false);
    } else if (!isLt2M) {
      ElMessage.error("图片大小不能超过 200MB!");
      return reject(false);
    } else {
      resolve(true);
    }
  });
};