vue中使用element-ui的upload上传视频

 时间:2026-02-12 14:50:18

1、在vue开发中,常常有需要上传视频或者图片的需求,就需要用到element-ui的upload组件。

<el-upload :action="MixinUploadApi" :on-progress="uploadVideoProcess" :on-success="handleVideoSuccess"

            :on-error="handleVideoError" :before-upload="beforeUploadVideo" :show-file-list="false">

vue中使用element-ui的upload上传视频

vue中使用element-ui的upload上传视频

2、在视频上传之前,需要加一个校验规则,筛选视频的大小和格式。

beforeUploadVideo(file) {

        const fileSize = file.size / 1024 / 1024 < 300

        if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb', 'video/mov'].indexOf(file

            .type) === -1) {

          this.$message.error('请上传正确的视频格式')

          return false

        }

        if (!fileSize) {

          this.$message.error('视频大小不能超过300MB')

          return false

        }

      }

vue中使用element-ui的upload上传视频

3、为了用户体验,在上传视频的时候,需要加一个进度条。

uploadVideoProcess(event, file, fileList) {

        this.videoErrorTip = false

        this.videoFlag = true

        this.videoUploadPercent = file.percentage.toFixed(0) * 1

      },

vue中使用element-ui的upload上传视频

vue中使用element-ui的upload上传视频

4、视频上传成功之后,要在浏览器自动播放视频,方便用户查看。

handleVideoSuccess(res, file) {

        this.videoFlag = false

        this.videoUploadPercent = 0

        this.ruleForm.videos = res.url

      },

vue中使用element-ui的upload上传视频

vue中使用element-ui的upload上传视频

5、当然,视频上传失败之后,也要给用户一个提示。

handleVideoError() {

        this.videoErrorTip = true

        this.videoFlag = false

        this.videoUploadPercent = 0

        this.$message.error('上传失败!')

      },

vue中使用element-ui的upload上传视频

6、最后,还需要增加一个删除视频的功能。

handleRemoveGoodsVideo() {

        this.videoFlag = false

        this.ruleForm.videos = ''

      }

vue中使用element-ui的upload上传视频

  • 王者荣耀能力测试领皮肤怎么领
  • 王者荣耀战队赛荣誉勋章怎么获得
  • 王者荣耀怎么获得紫星币
  • 王者生日一年内设置两次
  • 王者荣耀钻石兑换积分在哪里
  • 热门搜索
    三峡大坝简介 怎么学习韩语 好话大全 奇瑞瑞虎怎么样 造梦西游3兑换码大全 卡通人物图片大全 怎么安慰心情不好的人 百灵鸟叫声大全 怎么填报志愿 通用挽联大全