Element Plus 文件上传格式校验

视频格式:'video/mp4', 'video/avi', 'video/mov', 'video/wmv', 'video/flv', 'video/ts'
视频格式校验以及空文件校验:
javascript 复制代码
<el-form-item label="视频选择" prop="fileList">
              <el-upload
                style="width: 200px"
                ref="uploadRef"
                action=""
                accept=".mp4.avi.mov.wmv.flv.ts"
                v-model:file-list="formModel.fileList"
                :limit="1"
                :http-request="handlerUpload"
                :headers="headers"
                :on-success="handleSuccess"
                :before-upload="beforeAvatarUpload"
              >
                <el-button type="primary">选择文件</el-button>
              </el-upload>
            </el-form-item>
javascript 复制代码
  const beforeAvatarUpload = (rawFile) => {
    let typeList = ['video/mp4', 'video/avi', 'video/mov', 'video/wmv', 'video/flv', 'video/ts']
    if (!typeList.includes(rawFile.type)) {
      proxy.$modal.msgError('请上传视频文件!')
      return false
    } else if (rawFile.size / 1024 / 1024 <= 0) {
      proxy.$modal.msgError('请勿上传空文件!')
      return false
    }
    return true
  }
图片格式 、空文件、重复上传校验:
javascript 复制代码
 <el-form-item label="海报选择">
              <el-upload
                style="width: 200px"
                ref="imgUploadRef"
                action=""
                multiple
                :file-list="imgList"
                accept=".jpg,.png,.jpeg"
                :http-request="handlerIMGUpload"
                :headers="headers"
                :before-upload="imgBeforeAvatarUpload"
              >
                <el-button type="primary">选择图片</el-button>
              </el-upload>
            </el-form-item>
javascript 复制代码
  const imgBeforeAvatarUpload = (rawFile, file) => {
    if (
      rawFile.type !== 'image/jpeg' &&
      rawFile.type !== 'image/png' &&
      rawFile.type !== 'image/jpg'
    ) {
      proxy.$modal.msgError('请上传图片文件!')
      return false
    } else if (rawFile.size / 1024 / 1024 <= 0) {
      proxy.$modal.msgError('请勿上传空文件!')
      return false
    } else {
      let newFilelist = imgList.slice(0, imgList.length - 1)
      if (newFilelist.some((item) => item.name == rawFile.name)) {
        proxy.$modal.msgError('请勿重复上传!')
        return false
      }
    }

    return true
  }
相关推荐
ZJ_.6 分钟前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps
GIS开发特训营11 分钟前
Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍
前端·vue.js·前端框架·gis开发·webgis·三维gis
Cachel wood36 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
学代码的小前端38 分钟前
0基础学前端-----CSS DAY9
前端·css
joan_8542 分钟前
layui表格templet图片渲染--模板字符串和字符串拼接
前端·javascript·layui
还是大剑师兰特1 小时前
什么是尾调用,使用尾调用有什么好处?
javascript·大剑师·尾调用
m0_748236111 小时前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_748248941 小时前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_748235612 小时前
从零开始学前端之HTML(三)
前端·html