• 上传视频


    <template>
      <div
        style="
          background: #fff;
          border-radius: 4px;
          padding: 20px;
          box-sizing: border-box;
        "
      >
        <div class="setBox">
          <div class="setBox_d">视频名称</div>
          <div><el-input v-model="input" placeholder="请输入内容"></el-input></div>
        </div>
        <div class="setBox">
          <div class="setBox_d" style="line-height: 16px">上传视频</div>
          <div>
            <el-upload
              class="avatar-uploader"
              action="上传地址"
              :data="{ FoldPath: '上传目录', SecretKey: '安全验证' }"
              :on-progress="uploadVideoProcess"
              :on-success="handleVideoSuccess"
              :before-upload="beforeUploadVideo"
              :show-file-list="false"
            >
              <video
                v-if="videoForm.showVideoPath != '' && !videoFlag"
                :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"
                :percentage="videoUploadPercent"
                style="margin-top: 7px"
              ></el-progress>
            </el-upload>
            <p style="font-size:12px;color:#a6a6a6">最多可以上传1个视频,建议大小50M,推荐格式mp4</p>
          </div>
        </div>
        <div class="setBox">
          <div class="setBox_d"></div>
          <div>
            <el-button type="primary" @click="back">返回</el-button>
            <el-button type="primary" @click="sureBtn">保存</el-button>
          </div>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          videoFlag: false,
          //是否显示进度条
          videoUploadPercent: '',
          //进度条的进度,
          isShowUploadVideo: false,
          //显示上传按钮
          videoForm: {
            showVideoPath: '',
          },
          input: '',
        }
      },
      methods: {
        //上传前回调
        beforeUploadVideo(file) {
          var fileSize = file.size / 1024 / 1024 < 50
          if (
            [
              'video/mp4',
              'video/ogg',
              'video/flv',
              'video/avi',
              'video/wmv',
              'video/rmvb',
              'video/mov',
            ].indexOf(file.type) == -1
          ) {
            layer.msg('请上传正确的视频格式')
            return false
          }
          if (!fileSize) {
            layer.msg('视频大小不能超过50MB')
            return false
          }
          this.isShowUploadVideo = false
        },
        //进度条
        uploadVideoProcess(event, file, fileList) {
          this.videoFlag = true
          this.videoUploadPercent = file.percentage.toFixed(0) * 1
        },
        //上传成功回调
        handleVideoSuccess(res, file) {
          this.isShowUploadVideo = true
          this.videoFlag = false
          this.videoUploadPercent = 0
    
          //前台上传地址
          //if (file.status == 'success' ) {
          //    this.videoForm.showVideoPath = file.url;
          //} else {
          //     layer.msg("上传失败,请重新上传");
          //}
    
          //后台上传地址
          if (res.Code == 0) {
            this.videoForm.showVideoPath = res.Data
          } else {
            layer.msg(res.Message)
          }
        },
        sureBtn() {},
        back() {
          this.$router.go(-1)
        },
      },
      components: {},
    }
    </script>
    
    <style scoped>
    .setBox {
      display: flex;
      margin-bottom: 40px;
    }
    .setBox_d {
       120px;
      text-align: right;
      margin-right: 15px;
      line-height: 32px;
    }
    </style>
    

      

  • 相关阅读:
    浅谈页面的瀑布流布局
    前端常用动画库
    JavaScript七宗罪和一些槽点
    prototype与 _proto__的关系
    Javascript之傻傻理不清的原型链、prototype、__proto__
    C#开发微信门户及应用(26)-公众号微信素材管理
    C#开发微信门户及应用(25)-微信企业号的客户端管理功能
    基于InstallShield2013LimitedEdition的安装包制作
    Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
    Entity Framework 实体框架的形成之旅--Code First的框架设计(5)
  • 原文地址:https://www.cnblogs.com/xiaoxiaoxun/p/14174174.html
Copyright © 2020-2023  润新知