element 中上传组件 对视频时间做限制

element 上传组件对视频上传时间做限制

获取MP4时间

//file element before-upload 返回给的file   fileType 文件类型 自行判断
function    getMp4Time(file, fileType) {
            return new Promise(resolve => {
        //如果是mp4
                if (fileType == 'mp4') {
          //把element上传组件传给我们的file转成url
                    let url = URL.createObjectURL(file)
            //获取mp4对象
                    var audioElement = new Audio(url)
          //监听事件
                    audioElement.addEventListener('loadedmetadata', () => {
            //时间
                        const time = Math.round(audioElement.duration * 100) / 100
            //超出五分钟
                        if (time > 5 * 60) {
                            resolve(false)
                        } else {
                            resolve(true)
                        }
                    })
                } else {
          //不是mp4
                    resolve(true)
                }
            })
        },

在上传前判断

//before-upload
function beforeUpload(){
  //返回一个promise
    return new Promise(async (resolve, reject) => {
            //判断视频是否在规定时间内
                let isMp4success = await this.getMp4Data(file, fileType)
        //如果不在 返回false
                if (!isMp4success) {
                    this.$message.error('上传视频时长最长五分钟!')
                    reject(false)
                }
            //通过
                resolve(true)
            })
  }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容