欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue 获取视频时长的实例代码

程序员文章站 2022-04-09 16:26:50
直接通过element-ui自带的上传组件结合js即可,代码如下: html:     

直接通过element-ui自带的上传组件结合js即可,代码如下:

html:     

<el-upload class="upload-demo" :action="actionurl" :show-file-list="false" :on-success="handleavatarsuccess"
     :before-upload="beforeavatarupload">
     <button class="ce-button not-hover primary">
      <i class="ce-icon_upload"></i>
      <span>重新上传</span>
     </button>
    </el-upload>

js:

 beforeavatarupload(file) {
    var filename = file.name || ''
    var ext = filename.split('.')[filename.split('.').length - 1]
    if (ext !== "doc" && ext !== "docx" && ext !== "xls" && ext !== "xlsx"
     && ext !== "ppt" && ext !== "pptx" && ext !== "pdf" && ext !== "mp4") {
     this.$notify({
      title: "失败",
      message: "上传资源只能是 doc/docx/xls/xlsx/ppt/pptx/pdf/mp4 格式!",
      type: "error",
      duration: 3000
     });
     return false
    }
    // ppt(10mb),word(10mb),excel(5mb)
    if (ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx") {
     debugger
     if (parseint(file.size) > parseint('10485760‬')) {
      this.$notify({
       title: "失败",
       message: "上传word、ppt文件上限为10mb!",
       type: "error",
       duration: 3000
      });
      return false
     }
    }
    if (ext == 'mp4') { // 获取视频时长
     var url = url.createobjecturl(file);
     var audioelement = new audio(url);
     var duration;
     audioelement.addeventlistener("loadedmetadata", function (_event) {
      duration = audioelement.duration; //时长为秒,小数,182.36
      this.$parent.$data.wduration = parseint(duration)
      console.log(duration);
     });
    }
    this.$parent.$data.wfilename = file.name
    this.$parent.$data.wsize = parsefloat(file.size / 1024).tofixed(2) //获取文件大小
   }

总结

以上所述是小编给大家介绍的vue 获取视频时长的实例代码,希望对大家有所帮助