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 相关文章推荐
jQuery 入门级学习笔记及源码
Jan 22 Javascript
jquery 查找iframe父级页面元素的实现代码
Aug 28 Javascript
使用JavaScript动态设置样式实现代码及演示动画
Jan 25 Javascript
jquery 按键盘上的enter事件
May 11 Javascript
一个不错的字符串转码解码函数(自写)
Jul 31 Javascript
用原生js做个简单的滑动效果的回到顶部
Oct 15 Javascript
JS中FRAME的操作问题实例分析
Oct 21 Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
Feb 09 Javascript
对Angular中单向数据流的深入理解
Mar 31 Javascript
JavaScript实现一个简易的计算器实例代码
May 10 Javascript
详解JavaScript中的函数、对象
Apr 01 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保存session到memcache服务器的方法
2016/01/19 PHP
PHP中phar包的使用教程
2017/06/14 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
详解JS函数重载
2014/12/04 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
详解jQuery事件
2017/01/13 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
python实现画圆功能
2018/01/25 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
python之django母板页面的使用
2018/07/03 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python 实现try重新执行
2019/12/21 Python
python语言的优势是什么
2020/06/17 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
商务英语专业自荐信
2013/10/14 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers
Nginx如何配置根据路径转发详解
2022/07/23 Servers