vue实现移动端input上传视频、音频


Posted in Javascript onAugust 18, 2020

vue移动端input上传视频、音频,供大家参考,具体内容如下

html部分

<div class="title">现场视频</div>
 <div class="upLoad">
  <label for="pop_video" id="labelr">
  <video id="videoId" controls width="100%"></video>
  <input style="display:none;" id="pop_video" type="file" accept="video/*" capture="camcorder" v-on:change="getVideo(event, '2')" name="fileTrans" ref="file" value="">
  <div class="inputVideo">上传视频</div>
  </label>
 </div>
 <div class="title">现场音频频</div>
 <div class="upLoad">
  <label for="pop_audio" id="labelr">
  <audio id="audioId" controls width="100%"></audio>
  <input style="display:none;" id="pop_audio" type="file" accept="audio/*" capture="camcorder" v-on:change="getAudio(event, '2')" name="fileTrans" ref="file" value="">
  <div class="inputAudio">上传音频</div>
  </label>
</div>

js部分

getVideo (ev, typer) {
  let taht = this
  //获取上传文件标签
  let filesId = document.getElementById('pop_video');
  //获取音频标签
  let videoId = document.getElementById('videoId')
  //把当前files[0]传给getFileURL方法, getFileURL方法对其做一处理
  let url = this.getFileURL(filesId.files[0])
  if (url) {
  //给video标签设置src
  videoId.src = url
  }
  let formData = new FormData();
  formData.append("file", filesId.files[0]);
  upload(this.token, formData).then(res => {
  console.log(res)
  if (res.data.code === 0) {
   this.videoURL = res.data.data.url
  }
  })
  console.log(url)
 },
 getAudio (ev, typer) {
  let taht = this
  //获取上传文件标签
  let filesId = document.getElementById('pop_audio');
  //获取音频标签
  let audioId = document.getElementById('audioId')
  //把当前files[0]传给getFileURL方法, getFileURL方法对其做一处理
  let url = this.getFileURL(filesId.files[0])
  if (url) {
  //给video标签设置src
  audioId.src = url
  }
  let formData = new FormData();
  formData.append("file", filesId.files[0]);
  upload(this.token, formData).then(res => {
  console.log(res)
  if (res.data.code === 0) {
   this.audioURL = res.data.data.url
  }
  })
  console.log(url)
 },
 getFileURL (file) {
  let getUrl = null
  if (window.createObjectURL != undefined) {
  //basic
  getUrl = window.createObjectURL(file)
  } else if (window.URL != undefined) {//window.URL 标准定义
  //mozilla(firefox)
  //获取一个http格式的url路径,这个时候就可以设置<img>中的显示
  getUrl = window.URL.createObjectURL(file)
  } else if (window.webkitURL != undefined) {//window.webkitURL是webkit的内核
  //webkit or chrome
  getUrl = window.webkitURL.createObjectURL(file)
  }
  return getUrl 

  //video 标签的 duration属性,获取当前视频的长度
  // let duration = videoId.duration
  // if (Math.floor(duration) > 60) {
  // that.layer.msg('视频不能大于60秒')
  // } 
 },

css部分

#inspect .upLoad {
 background-color:#fff;
 /* height: 1.5rem; */
 text-align: left;
 padding: 0.3rem;
}

#inspect .inputVideo {
 background-color: #00cc66;
 color: #fff;
 font-size: 0.32rem;
 width: 30%;
 height: 0.8rem;
 line-height: 0.8rem;
 border-radius: 0.4rem;
 text-align: center;
 margin: 0 auto; 
}

#inspect .inputAudio {
 background-color: #5cadff;
 color: #fff;
 font-size: 0.32rem;
 width: 30%;
 height: 0.8rem;
 line-height: 0.8rem;
 border-radius: 0.4rem;
 text-align: center;
 margin: 0 auto; 
}

效果图

vue实现移动端input上传视频、音频

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
this和执行上下文实现代码
Jul 01 Javascript
让alert不出现弹窗的两种方法
May 18 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
Oct 16 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
js使用i18n实现页面国际化的方法
May 09 Javascript
在使用JSON格式处理数据时应该注意的问题小结
May 20 Javascript
详解vee-validate的使用个人小结
Jun 07 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
Jan 22 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
Mar 03 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 Javascript
Vue + ts实现轮播插件的示例
Nov 10 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 #Javascript
JavaScript数组排序的六种常见算法总结
Aug 18 #Javascript
js实现简单扫雷
Nov 27 #Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 #Javascript
javascript实现扫雷简易版
Aug 18 #Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 #Javascript
Openlayers实现扩散的动态点(水纹效果)
Aug 17 #Javascript
You might like
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
python实现决策树分类算法
2017/12/21 Python
python+opencv实现动态物体追踪
2018/01/09 Python
Django 实现下载文件功能的示例
2018/03/06 Python
详解python中的json和字典dict
2018/06/22 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
教师远程培训感言
2014/03/06 职场文书
小学二年级学生评语
2014/04/21 职场文书
优秀员工推荐材料
2014/12/20 职场文书
加薪通知
2015/04/25 职场文书
2015大学迎新标语
2015/07/16 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技