el-upload控制上传的文件类型为png、jpeg、doc、docx、xls、xlsx、pdf文档上传
时间: 2023-08-08 20:07:01 浏览: 260
同样是通过设置 `before-upload` 属性来控制上传文件类型,可以在 `before-upload` 函数中进行文件类型的判断。以下是一个示例代码:
```html
<template>
<el-upload
class="upload-demo"
action="/upload"
:before-upload="beforeUpload"
:limit="1"
:on-exceed="handleExceed"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</template>
<script>
export default {
methods: {
beforeUpload(file) {
const fileType = file.type;
const validTypes = [
'image/png',
'image/jpeg',
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'application/pdf'
];
const isValidType = validTypes.includes(fileType);
if (!isValidType) {
this.$message.error('只能上传 png、jpeg、doc、docx、xls、xlsx 和 pdf 格式的文件');
}
return isValidType;
},
handleExceed(files, fileList) {
this.$message.warning(`只能上传一个文件`);
}
}
}
</script>
```
在这个示例代码中,我们定义了一个 `validTypes` 数组来存放合法的文件类型,然后在 `before-upload` 函数中判断上传的文件类型是否在这个数组中。如果不在,则提示用户只能上传指定格式的文件,否则允许上传。同时,我们还通过 `on-exceed` 属性限制了上传的文件数量为 1 个。
阅读全文