element-ui upload组件 上传文件类型及文件大小限制

<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
 },
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值