我们先来看看官方对before-upload的定义
before-upload是在上传文件时触发,不是添加文件时触发,添加文件时触发 on-change。
所以如果我们要在添加文件时,对文件的大小和后缀等等进行判断,可以用 on-change 方法来实现。
checkSuffix(str) {
var strRegex = /\.(jpg|png|gif|bmp|jpeg)$/
if (strRegex.test(str.toLowerCase())) {
return true
} else {
return false
}
},
onChange(file) {
// 限制图片大小
if (file.size / 1024 / 1024 > 3) {
this.$message.warning('文件大小不得超过3M,请重新上传')
this.fileList.pop()
}
// 对文件后缀进行限制
const index = file.name.lastIndexOf('.')
const suffix = file.name.substring(index, file.name.length)
console.log('suffix', suffix)
if (!this.checkSuffix(suffix)) {
this.$message.warning(
'请上传扩展名为:.rar .zip .doc .docx .pdf .jpg 的文件'
)
this.fileList.pop()
}
},