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