参考资料:js获取上传音视频文件的时长

直接通过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>

得加一个中间字段,用于保存视频时长的值,因为在监听器里面不能直接使用vue页面定义的全局变量:

 <input type="text" ref="dur" name='0'/>

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;
var ele = this.$refs.dur
audioElement.addEventListener("loadedmetadata", function (_event) {
duration = audioElement.duration; //时长为秒,小数,182.36
ele.name = duration //目前使用这种方式解决js与vue之间的传值问题
// this.$parent.$data.wDuration = parseInt(duration) //注意传递给接口的时长字段类型要与接口接收的字段类型一致,不然无法获取到值
});
} this.$parent.$data.wFileName = file.name
this.$parent.$data.wSize = parseFloat(file.size / 1024).toFixed(2) //获取文件大小
}

vue 获取视频时长的更多相关文章

  1. vue / js使用video获取视频时长

    项目中遇到上传视频功能,需要有预览和获取视频时长功能,因之前使用upload(有需要的话可以参考下我之前的文章),这里就不赘述,直接用来上传视频,不过在上传之前和上传成功后的钩子里,获取不到时长: 没 ...

  2. java 代码获取视频时长

    package test; import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.MultimediaInfo; i ...

  3. php 获取视频时长

    利用ffmpeg只能获取到本地视频的信息. function video_time($file) { ob_start(); passthru(sprintf(FFMPEG_PATH, $file)) ...

  4. Swift3 根据秒数获取视频时长(转换成00:00:00时间格式)以及将时长转换成秒

    直接代码了: /// 秒转换成00:00:00格式 /// /// - Parameter secounds: <#secounds description#> /// - Returns ...

  5. 获取音、视频时长(NAudio,Shell32,FFmpeg)

    参考网址:https://blog.csdn.net/u013810234/article/details/57471780 以下为本次测试用到的音.视频格式: audio :”.wav;.mp3;. ...

  6. Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器

    前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获 ...

  7. Long类型时间如何转换成视频时长?

    数据库中存放的视频时长是一个Long类型的毫秒/秒时间,现在需要把这个时间转换成标准的视频时长格式,在我看来这应该是一个很常用的转化有一个很常用的转换方法工具才对,可是我百度找了许久,没有一个简单直观 ...

  8. javascript 获得以秒计的视频时长

    <!DOCTYPE html> <html> <body> <h3>演示如何访问 VIDEO 元素</h3> <video id=&q ...

  9. jave获取音频时长

    本文转载自:http://blog.csdn.net/ntotl/article/details/50419983 下载 jave-1.0.2.jar File source =new File('d ...

随机推荐

  1. weblogic新增域并进行Jconsole监听

    一.创建域: 第一步,打开域配置界面: [bofm@UAT02-BIZ-ZJCG-AP-002 bin]$ cd /home/software/weblogic/Oracle/Middleware/w ...

  2. 记录C#-WPF打开/关闭>>事件执行顺序

    打开执行顺序                                          关闭执行顺序

  3. Python—序列化和反序列化模块(json、pickle和shelve)

    什么是序列化 我们把对象(或者变量)从内存中变为可存储或者可传输的过程称为序列化.在python中为pickling,在其他语言中也被称之为serialization,marshalling,flat ...

  4. Linux—添加开机启动(服务/脚本)

    系统启动时需要加载的配置文件 /etc/profile./root/.bash_profile/etc/bashrc./root/.bashrc/etc/profile.d/*.sh./etc/pro ...

  5. [MySQL] 解决Error 1698: Access denied for user 'root'@'localhost'

    当程序中使用root账号连接mysql时报以下错误,但是使用命令行是可以正常连接的,那么就查询下mysql数据库的user表,查看下当前用户的密码加密方式,看看是不是unix_socketMariaD ...

  6. CentOS7设置开机自启动方式

    方式一: # 在/etc/rc.d/rc.local文件中追加启动命令,该文件追加后,会随着机器自动后,自动运行文件中的命令 # vim /etc/rc.d/rc.local # 权限问题:在cent ...

  7. python,adb,分别给多个设备安装多个apk文件,os.popen(); os.system; os.path.splitext(); a.split(' \t'); readlines(); append(); os.path.join(); time.sleep();

    #encoding:utf-8import os,time#=======================查找手机设备序列号=============a='adb devices'b=os.popen ...

  8. c# WF 第8节 label控件

    本节内容: 1: 文本控件 2:实现label的你追我赶实例 1:文本控件 2:实现label的你追我赶实例 步骤1 : 步骤2 : 知识点:

  9. tomcat快速入门

    简介 Tomcat 是什么 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理 ...

  10. shiro异步请求返回JSON响应

    shiro异步请求返回JSON响应 需求1:当shiro请求资源,但是没有进行认证时,默认是进行重定向,现在需要返回JSON响应.注意异步请求,服务器重定向后,ajax拿到的是浏览器重定向后的到的页面 ...