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 Ajax文件上传(php)
Jun 16 Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
Apr 22 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
Mar 09 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
微信小程序实现单选功能
Oct 30 Javascript
详解Vue项目部署遇到的问题及解决方案
Jan 11 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
Mar 02 Javascript
JS删除对象中某一属性案例详解
Sep 08 Javascript
javascript实现放大镜功能
Dec 09 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php中session退出登陆问题
2014/02/27 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
php事件驱动化设计详解
2016/11/10 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
python人民币小写转大写辅助工具
2018/06/20 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
跟单文员的岗位职责
2013/11/14 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
研究生求职自荐书
2014/06/23 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Python+Appium实现自动抢微信红包
2021/05/21 Python