vue上传音视频文件并获取时长

在开发工作中,上传文件到服务器是经常会做的事,也会发现我上传的文件使用不了。

主要记录一个破损文件可以上传但无法使用时,在前端如何让这个文件无法上传,文件选择以及文件名、文件大小就不写了....,直接写获取文件信息的方法。

  •  利用URL.createObjectURL() 静态方法创建 URL 的  File对象
 getMp4Time(file) {
      let that = this
      return new Promise((resolve,reject) => {
           
          //把element上传组件传给我们的file转成url
          let url = URL.createObjectURL(file)
          //获取对象
          var audioElement = new Audio(url)
          //监听事件
          audioElement.addEventListener('loadedmetadata', () => { 
            const time = Math.round(audioElement.duration * 100) / 100
            resolve(time)  
          })
          audioElement.addEventListener('error', () => { 
            resolve(0)
          })
      })       
 }, 
  • 使用时判断一下返回值,给出相应提示就好了
let time = await that.getMp4Time(file)
console.log('time',time)

你可能感兴趣的:(js,vue.js,javascript)