vue中上传文件时候获取文件的大小时长等信息

html

            
          
方法:
beforeFile(file){
 const self = this
      const isSize = new Promise(function (resolve, reject) {
        let _URL = window.URL || window.webkitURL
        let url = URL.createObjectURL(file)
        let videoElement = document.createElement('video')
        // // 当指定的音频/视频的元数据已加载时,会发生 loadedmetadata 事件。 元数据包括:时长、尺寸(仅视频)以及文本轨道。
        videoElement.addEventListener('loadedmetadata', function (_event) {
          let width = videoElement.videoWidth
          let height = videoElement.videoHeight
          console.log(Math.ceil(file.size / 1024 / 1024))
          var valid = true
          if (Math.ceil(file.size / 1024 / 1024) < 19) {
            valid = true
          } else {
            valid = false
            self.$message.error('错误提示:请上传小于20Mb的视频')
            self.handleRemoveVideo(file)

            return
          }
          valid ? resolve() : reject()
        })
        videoElement.src = _URL.createObjectURL(file)
      }).then(() => {
        return file
      }, () => {
        return Promise.reject()
      })
      return isSize
}

你可能感兴趣的:(vue中上传文件时候获取文件的大小时长等信息)