elementUI实现上传视频时获取视频时长以及设置视频格式、大小限制

这篇具有很好参考价值的文章主要介绍了elementUI实现上传视频时获取视频时长以及设置视频格式、大小限制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

before-upload 属性绑定的事件中可以获取上传视频的信息对象,通过给这个信息对象内的属性添加判断条件就可以实现对视频的格式及大小进行限制。对于视频时长,也包含在信息对象中,根据下面代码所示方法提取即可。

前端限制上传视频大小,javascript,前端,vue,elementui,javascript,vue,前端

想了解如何给上传图片添加限制的小伙伴,可以查看作者的另一篇关于图片上传的文章:
elementUI设置上传图片的格式、大小限制

具体实现代码:

<el-upload
    :action="action"
    :before-upload="onBeforeVideoUpload"
>
    <el-button size="small" type="primary">点击上传</el-button>
</el-upload>
data(){
	return{
		duration: 0,//视频时长
	}
}methods: {
	//对视频的格式进行限制
    onBeforeVideoUpload(file){
      // 获取后缀名
      const suffix = file.name.substring(file.name.lastIndexOf('.') + 1)
      // 判断是否符合文件大小的限制需求
      const isLt2M = file.size / 1024 / 1024 < this.maxSize
      // 判断是否符合文件类型需求
      const isLtType = ["video/mp4", "video/ogg", "video/flv", "video/avi", "video/wmv", "video/rmvb", "video/mov"]

      if (!isLt2M) {
        this.$message({
          message: `上传文件大小不能超过${this.maxSize}M!`,
          type: 'warning'
        })
      }

      let correctType = true
      //限制视频格式
      if(isLtType.indexOf(file.type) == -1){
        correctType = false
        this.$message({
          message: '请上传视频格式文件',
          type: 'warning'
        })
      }else{
        correctType = true
      }

      //获取视频时长
      let url = URL.createObjectURL(file);
      let audioElement = new Audio(url);
      let duration;
      let fun = (duration) => {
        this.duration = duration
      }
      //下面需要注意的是在监听loadedmetadata绑定的事件中对duration直接进行赋值是无效的,需要在fun回调函数中进行赋值
      audioElement.addEventListener("loadedmetadata", function() { //音频/视频的元数据已加载时,会发生 loadedmetadata 事件
        duration = audioElement.duration; //时长以秒作为单位
        fun(parseFloat(duration).toFixed(1))
      });

      return isLt2M && correctType //返回false或者reject状态的promise则停止上传
    },
}

👇觉得有帮助的朋友可以支持下作者哦,您的鼓励是我创作的最大动力,如有开发问题可联系作者
前端限制上传视频大小,javascript,前端,vue,elementui,javascript,vue,前端文章来源地址https://www.toymoban.com/news/detail-621551.html

到了这里,关于elementUI实现上传视频时获取视频时长以及设置视频格式、大小限制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python获取音视频时长

    上代码:获取音视频时长.py pyinstaller -F 获取音视频时长.py 链接:https://pan.baidu.com/s/1WvsMyPHD3iFsM844gfC2Jg?pwd=yyds

    2024年02月15日
    浏览(32)
  • java ffmpeg获取视频时长

    nacos里面配置的ffmpegPath,如果不用这个,也可以自己写一个ffmpegPath的地址 代码

    2024年02月07日
    浏览(28)
  • FFmpeg框架系列:获取视频时长

    业务需求:对上传的视频显示该时长。 FFmpeg官网:http://ffmpeg.org/ 我在这篇五分钟JAVA代码教会你:FFmpeg实现视频试看(window版本)中写的十分详细,在windows/Linux安装FFmepg,此处我就不过多阐述了。 在window中安装FFmpeg后,在cmd执行获取时长的命令即可: PS:解压在windows本地的ffmpe

    2024年02月09日
    浏览(27)
  • java获取视频时长、分辨率、帧率、码率

    1、先导包 2、获取时长

    2024年02月15日
    浏览(45)
  • 基于 FFMPEG的Python 获取视频时长(附代码)

    项目需要,通过视频的url(在线视频url),查出视频的时长 本文提供获取视频时长的python代码 首先安装FFMPEG 1、安装包 https://download.csdn.net/download/asd051377305/87126378 2、解压  3、将文件路径配置到系统设置Path里面 控制面板 - 点击系统 - 点击高级系统设置 - 点击环境变量  4、

    2024年02月15日
    浏览(28)
  • Java使用FFMPEG获取在线URL视频时长

    1、首先安装FFMPEG并配置环境变量 下载地址:Download FFmpeg 2、代码实现(通过Java执行cmd命令获取视频时长 )

    2024年02月16日
    浏览(30)
  • java通过url获取视频时长(无需下载文件)

     1、导入架包 2、创建FFmpegFileInfo类(类的位置ws.schild.jave) 3、打包把类打成class文件放到本地的Maven仓库(如果在测试类中使用跳过此步)  4、测试

    2024年02月16日
    浏览(36)
  • js前端获取video视频名称+时长+缩略图+宽高

    js前端获取video视频名称+时长+缩略图+宽高,缩略图的核心是用canvas画出来的base64图片,调用函数需要传入二进制的视频文件,注意这是一个promise函数,需要用then来接收,代码如下

    2024年02月12日
    浏览(33)
  • Vue+elementUI中的el-upload实现上传文件给后端,限制上传文件的格式、文件的大小、文件的数量,将表单和Excel文件一起提交给后端

    需求:1.表单输入信息 2.上传Excel附件 3.下载附件模板 4.限制上传文件的格式、文件的大小、文件的数量 5.将表单和Excel文件一起提交给后端 效果图: 样式部分 data部分代码 method中的代码

    2024年02月12日
    浏览(46)
  • java获取一段视频/mp4的时长

    引言 在日常开发中,经常会遇到产品经理提出一个需求“上传视频”,而且还得显示出视频的播放时长,我们直接上最简单的代码,必须是最简单,多一句啰嗦都不准点赞。 How to do 1.提前引入包 2.逻辑实现

    2024年01月24日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包