element upload 上传组件 文件上传前文件类型校验

由于项目有多处上传使用,所以封装了一个上传方法
原理:截取文件的后缀名,判断是否为限制的文件
缺点:只判断文件的扩展名,可能存在文件类型不正确问题

import Vue from 'vue'
const v = new Vue()

// 文件上传前校验
/**
 * 
 * @param {*} file   使用before-upload钩子时传入的文件
 * @param {*} arr    限制的扩展名
 * @param {*} mssage 错误提示
 */
export function beforeUpload(file,arr = [],mssage){
    const typeList = [...arr];
    const fileName = file.name;
    const extension = fileName.substr(fileName.lastIndexOf(".") + 1);
    const isRT = typeList.includes(extension);
    if (!isRT) {
        v.$message.error(mssage);
    }
    return isRT;
}

使用:

<el-upload  :before-upload="handleBeforeUpload"></el-upload>

handleBeforeUpload(file){
    const typeList = ["xls", "xlsx"];
    const errMsg = '请上传excel文件'
    return beforeUpload(file,typeList,errMsg)
},
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。