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 相关文章推荐
JS循环遍历JSON数据的方法
Jul 08 Javascript
详解js跨域原理以及2种解决方案
Dec 09 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
js实现简单的网页换肤效果
Jan 18 Javascript
jQuery实现给input绑定回车事件的方法
Feb 09 Javascript
利用node.js爬取指定排名网站的JS引用库详解
Jul 25 Javascript
在create-react-app中使用css modules的示例代码
Jul 31 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
9种方法优化jQuery代码详解
Feb 04 jQuery
原生js实现html手机端城市列表索引选择城市
Jun 24 Javascript
Javascript中window.name属性详解
Nov 19 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递归调用的小技巧讲解
2013/02/19 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
PHP生成树的方法
2015/07/28 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
浅析Django中关于session的使用
2019/12/30 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
大学新生欢迎词
2014/01/10 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
护理专业求职信
2014/06/15 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
大雁塔导游词
2015/02/04 职场文书
超市采购员岗位职责
2015/04/07 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
Java实现二分搜索树的示例代码
2022/03/17 Java/Android