<el-upload
class="c-upload"
ref="upload"
:action="actions"
:headers="myHeaders"
:data="myData"
:limit='limit'
accept=".xls,.xlsx"
:on-exceed="onExceed"
:on-change="onChange"
:on-success="onSuccess"
:on-error="onError"
:file-list="fileList"
:before-upload="beforeUpload"
:auto-upload="false"
>
<el-button
slot="trigger"
size="small"
type="primary"
>选取文件</el-button>
<div
slot="tip"
class="el-upload__tip"
>只能上传xls/xlsx文件,且不超过一个</div>
</el-upload>
如果限制只能上传1个文件,可以把limit
设置为1就行,也可以在on-change
方法中设置,需要显示几个根据需求来设置
onChange(file, fileList) {
// 通过这个判断截取长度
if (fileList.length > 1) {
fileList.splice(0, 1)
}
},
限制文件类型,通过上传之前的钩子:before-upload="beforeUpload"
限制文件大小,就是里面注释的部分
beforeUpload(file) {
var testmsg=file.name.substring(file.name.lastIndexOf('.')+1)
const extension = testmsg === 'xls'
const extension2 = testmsg === 'xlsx'
// const isLt2M = file.size / 1024 / 1024 < 10
if(!extension && !extension2) {
this.$message({
message: '上传文件只能是 xls、xlsx格式!',
type: 'warning'
});
}
// 也可以在这里增加文件大小限制
// if(!isLt2M) {
// this.$message({
// message: '上传文件大小不能超过 10MB!',
// type: 'warning'
// });
// }
// return (extension || extension2) && isLt2M
return extension || extension2
},