vue2.0- 上传文件格式后缀校验--element-ui中el-upLoad组件-

1.绑定上传文件之前的钩子

2.在文件上传前钩子中写校验

file:自带的参数,关于上传文件的一些属性,文件name,type什么的

acceptFileType:自己定义了一个支持的文件格式的数组,方便后期更改。

type:为什么是file.name而不是file.type呢?就是因为有些文件type读取不到值的,name容错率更低,

        file.name.split("."): 字符串转数组,以 . 分隔。所以变成了['文件名','后缀']例如['简历','docx']

        .slice(-1)[0]:-1取到的是  拿到了最后一个也就是例子中的:['docx'] 然后通过[0]就取到了'docx'

       .toLowerCase(): 大写转小写   为了避免有些上传文件名称后缀是大写,所以为了统一转为小写。

        !acceptFileType.includes(type):语法:数组.includes(数组中的某一个),某一个是否包含在数组中,前边加个! 就是如果这个数组中不包含type,然后给提示去阻断!

3.上代码

 handleBefore(file){

      let acceptFileType = ['docx','pdf','doc']

      let type = file.name.split(".").slice(-1)[0].toLowerCase()

      console.log(file);

      if(!acceptFileType.includes(type)){

        setTimeout(() => {

          this.$notify({

          title: "温馨提示",

          message: "格式错误!",

          type: "error"

        })

        },50)

        return false

      }

      return true;

    },

猜你喜欢

转载自blog.csdn.net/weixin_62355341/article/details/123598248