element-ui上传文件规定只能上传

今天遇到一个问题,就是在elementui项目中对文件进行上传,上传的类型只能是图片格式。

一开始的想法是通过 accept=".jpg, .png, jpeg" 设置传入文件格式

<el-upload
                  class="avatar-uploader"
                  list-type="picture-card"
                  multiple
                  :file-list="item.planPictures"
                  :action="uploadImgUrl"
                  :headers="uploadHeaders"
                  accept=".jpg, .png, jpeg"
                  :on-success="
                    (res, file) => handleAvatarSuccess(res, file, item)
                  "
                  :on-remove="
                    (file, fileList) => handleRemove(file, fileList, item)
                  "
                  :before-upload="beforeAvatarUpload"
                >
                  <el-button size="small" type="file">点击上传图示</el-button>
</el-upload>

结果得到的结果是,点击上传后选择的文件只有,.jpg, .png, jpeg格式。

 然后找到以后发现如果修改文件类型,还是可以上传非类型,所以找到了:before-upload="beforeAvatarUpload"这个属性,修改挂载函数beforeAvatarUpload,

 beforeAvatarUpload(file) {
      const isLt10M = file.size / 1024 / 1024 < 10;

      var testmsg = file.name.substring(file.name.lastIndexOf('.')+1)
      const extension = testmsg === 'png'
      const extension2 = testmsg === 'jepg'
      const extension3 = testmsg === 'jpg'

      if(!extension && !extension2 && !extension3) {
        this.$message({
            message: '上传文件只能是 png、jepg、jpg格式的文件',
            type: 'warning'
        });
      }
      
      if (!isLt10M) {
        this.$message.error("上传头像图片大小不能超过 10M!");
      }
      return (extension || extension2 || extension3) && isLt10M;
    },

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值