element ui 文件上传限制文件类型

本文介绍了如何在前端使用Element UI的上传组件时,通过`accept`属性限制文件类型,并避免冒泡事件和列表刷新问题。通过在选择文件阶段进行预判,确保只允许jpg和png格式的文件上传。

问题描述:

限制文件的上传类型,在change事件或者是成功的回调函数中,做限判断会触发事件冒泡,并且无法删除页面上的展示列表中的文件

解决方案:

在用户选择文件的时候就只能选择对应文件的类型

实现方式:

template:

<el-form-item label="附件:">
    <el-upload
      accept=".jpg,.png"  //关键
      action="文件上传的位置"
      :limit="1"
      :before-upload="beforeUpload" //上传文件之前的钩子,参数为上传的文件,若返回 false 或者返        
                                       回 Promise 且被 reject,则停止上传
      :on-success="upSuccess"  //文件上传成功时的钩子
      :on-error="upError" //文件上传失败时的钩子
    >
      <el-button size="small" type="primary">
        上传文件
      </el-button>
    </el-upload>
    <span>上传文件只能是 jpg,png格式</span>
</el-form-item>

methods:

beforeUpload(file) {
  const fileSuffix = file.name.substring(file.name.lastIndexOf(".") + 1);
 
  const whiteList = ["jpg", "png"];
 
  if (whiteList.indexOf(fileSuffix) === -1) {
    this.message({message:"上传文件只能是 jpg,png格式", type: 'warning'});
    return false;
    
  }
},
// 上传成功
upSuccess(file) {
  this.message({message:"上传成功", type: 'success'});
},
// 上传失败
upError(file) {
  this.message.error("上传失败");
},

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值