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


Posted in Javascript onAugust 20, 2019

直接通过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 获取视频时长的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
基于jquery点击自以外任意处,关闭自身的代码
Feb 10 Javascript
jquery.form.js用法之清空form的方法
Mar 07 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
js控制网页背景音乐播放与停止的方法
Feb 06 Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 Javascript
浅谈jquery.fn.extend与jquery.extend区别
Jul 13 Javascript
AngularJS 视图详解及示例代码
Aug 17 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
玩转vue的slot内容分发
Sep 22 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
Nov 09 Javascript
JS+css3实现幻灯片轮播图
Aug 14 Javascript
vue+elementUI实现图片上传功能
Aug 20 #Javascript
vue+elementUi图片上传组件使用详解
Aug 20 #Javascript
vue集成chart.js的实现方法
Aug 20 #Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 #Javascript
微信小程序使用车牌号输入法的示例代码
Aug 20 #Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 #Javascript
Vue实现购物车详情页面的方法
Aug 20 #Javascript
You might like
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
PHP SOCKET编程详解
2015/05/22 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
Django中提示消息messages的设置方式
2019/11/15 Python
python request 模块详细介绍
2020/11/10 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
渗透攻击的测试步骤
2014/06/07 面试题
和解协议书
2014/04/16 职场文书
班级标语大全
2014/06/21 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
市级三好生竞选稿
2015/11/21 职场文书
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript