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 相关文章推荐
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
实现动画效果核心方式的js代码
Sep 27 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
Sep 30 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
Nov 20 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
页面点击小红心js实现代码
May 26 Javascript
vue总线机制(bus)知识点详解
May 10 Javascript
鸿蒙系统中的 JS 开发框架
Sep 18 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反转字符串函数strrev()函数的用法
2012/02/04 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
python缩进区别分析
2014/02/15 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
Python requests库用法实例详解
2018/08/14 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
详解Python字符串切片
2019/05/20 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
django从后台返回html代码的实例
2020/03/11 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
一封普通求职者的求职信
2013/11/20 职场文书
水利学院求职自荐书
2014/02/01 职场文书
单位消防安全责任书
2014/07/23 职场文书
用人单位聘用意向书
2015/05/11 职场文书
小学庆六一主持词
2015/06/30 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang