elementUI设置上传图片的格式、大小限制

79 篇文章 1 订阅
59 篇文章 1 订阅

before-upload 属性绑定的事件中可以获取上传图片的信息对象,通过给这个信息对象内的属性添加判断条件就可以实现对视频的格式及大小进行限制。

在这里插入图片描述

想了解如何给上传视频添加限制以及获取视频时长的小伙伴,可以查看作者的另一篇关于视频上传的文章:
elementUI实现上传视频时获取视频时长以及设置视频格式、大小限制

具体实现代码:

<el-upload
    :action="action"
    :before-upload="onBeforeImgUpload"
>
    <i class="el-icon-plus"></i>
</el-upload>
methods:{
    //对图片的格式进行限制
    onBeforeImgUpload(file) {
      // 获取后缀名
      const suffix = file.name.substring(file.name.lastIndexOf('.') + 1)
      // 判断是否符合文件大小的限制需求
      const isLt2M = file.size / 1024 / 1024 < this.maxSize
      // 判断是否符合文件类型需求
      let accept = 'jpg/png/gif/jpeg'
      const isLtType = accept.indexOf(suffix) >= 0
      if (!isLtType) {
        this.$message({
          message: `上传文件格式必须为${accept}`,
          type: 'warning'
        })
      }
      if (!isLt2M) {
        this.$message({
          message: `上传文件大小不能超过${this.maxSize}M!`,
          type: 'warning'
        })
      }

      return isLt2M && isLtType
    },
}

👇觉得有帮助的朋友可以支持下作者哦,您的鼓励是我创作的最大动力,如有开发问题可联系作者
请添加图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ElementUI 的上传组件可以通过 `before-upload` 属性来限制上传文件的大小。该属性绑定一个函数,该函数会在上传文件之前被调用。如果该函数返回 `false`,则上传操作会被取消。 下面是一个示例代码,演示如何限制上传文件的大小: ```html <el-upload :before-upload="beforeUpload" :auto-upload="false" > <el-button slot="trigger" size="small" type="primary">选取文件</el-button> <el-button style="margin-left: 10px;" size="small" type="success" @click="uploadFile">上传文件</el-button> </el-upload> ``` 在上面的代码中,我们将 `before-upload` 属性绑定到 `beforeUpload` 方法上。在 `beforeUpload` 方法中,我们可以获取上传的文件对象 `file`,并使用 `file.size` 属性来判断文件大小是否符合要求。如果文件大小超过限制,则使用 `this.$message.error` 方法提示用户,并返回 `false`,取消上传操作。 下面是 `beforeUpload` 方法的示例代码: ```javascript methods: { beforeUpload(file) { const fileSize = file.size / 1024 / 1024; // 将文件大小转换为MB const maxSize = 2; // 限制文件大小为2MB if (fileSize > maxSize) { this.$message.error(`文件大小不能超过 ${maxSize}MB`); return false; } return true; }, uploadFile() { // 执行上传操作 } } ``` 在上面的代码中,我们将文件大小限制为2MB。如果上传的文件大小超过2MB,则会显示错误消息,上传操作会被取消。否则,上传操作会在 `uploadFile` 方法中执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值