element-ui上传视频

 <div>
                    <el-upload class="avatar-uploader" :action="uploadUrl + '/upload/create'" :data="{ file_type: 'video' }"
                        v-bind:on-progress="uploadVideoProcess" v-bind:on-success="handleVideoSuccess"
                        v-bind:before-upload="beforeUploadVideo" v-bind:show-file-list="false" :headers="{
                            Authorization: 'Bearer ' + $store.state.user.token,
                        }">
                        <video v-if="videoForm.showVideoPath != '' && !videoFlag" v-bind:src="videoForm.showVideoPath"
                            class="avatar video-avatar" controls="controls">
                            您的浏览器不支持视频播放
                        </video>
                        <i v-else-if="videoForm.showVideoPath == '' && !videoFlag"
                            class="el-icon-plus avatar-uploader-icon"></i>
                        <el-progress v-if="videoFlag == true" type="circle" v-bind:percentage="videoUploadPercent"
                            style="margin-top: 7px"></el-progress>
                    </el-upload>
                </div>
 //进度条
        uploadVideoProcess(event, file, fileList) {
            //注意在data中添加对应的变量名
            this.videoFlag = true;
            this.videoUploadPercent = file.percentage.toFixed(0) * 1;
        },
  //上传前回调
        beforeUploadVideo(file) {
            var fileSize = file.size / 1024 / 1024 < 50; //控制大小  修改50的值即可
            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("视频大小不能超过50MB");
                return false;
            }
            this.isShowUploadVideo = false;
        },
 //上传成功回调
        handleVideoSuccess(res, file) {
            let decrypt = new JSEncrypt();
            decrypt.setPrivateKey(config.cert.privateKey);
            var decryptMsg = decrypt.decryptLong(res, "utf-8");
            res = JSON.parse(decryptMsg);
            this.isShowUploadVideo = true;
            this.videoFlag = false;
            this.videoUploadPercent = 0;
            console.log("成功", res);
            //后台上传数据
            if (res.code == 200) {
                this.videoForm.showVideoPath = res.data[0].full_path; //上传成功后端返回视频地址 回显
                this.form.media_urls[0] = res.data[0].full_path;
            } else {
                this.$message.error("上传失败!");
            }
        },
   videoFlag: false,
            //是否显示进度条
            videoUploadPercent: "",
            //进度条的进度,
            isShowUploadVideo: false,
            //显示上传按钮
            videoForm: {
                showVideoPath: "", //回显的变量
            },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值