:before-upload的事件中
handleBeforeupload(file) {
this.isStartUpload = true
const isJPG = file.type === 'image/jpeg'
const tmp = file.name.split('.')
const ext = tmp[tmp.length - 1]
var pattern = /(\.avi)|(\.mov)|(\.rmvb)|(\.rm)|(\.flv)|(\.mp4)|(\.3gp)/gi//格式判断
if (!pattern.test(file.name)) {
this.$message({ message: '上传文件只支持avi、mov、rmvb、rm、flv、MP4、3gp格式', type: 'error' })
this.isStartUpload = false
return false
}
var m = (file.size / (1024 * 1024)).toFixed(2).//大小判断
if (m > 1024) {
this.$message({ message: '最大限制1G', type: 'error' })
this.isStartUpload = false
return false
}
const uploadFiles = this.$refs.uploadVideo.uploadFiles
// 将文件格式,添加到$refs中
uploadFiles.forEach(item => {//添加文件格式
if (item.uid === file.uid) {
item.ext = ext
}
// 获取视频时长
//主要代码模块
let url = URL.createObjectURL(file)
let audioElement = new Audio(url)
let duration
audioElement.addEventListener('loadedmetadata', function(_event) {
duration = audioElement.duration //时长为秒,小数,182.36
// this.$parent.$data.wDuration = parseInt(duration)
item.duration = parseInt(duration)
console.log(duration)
})
})
return true
},