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 substr、substring和slice使用说明小记
Sep 15 Javascript
用js实现in_array的方法
Nov 05 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
js弹窗返回值详解(window.open方式)
Jan 11 Javascript
详解JavaScript基本类型和引用类型
Dec 09 Javascript
详解JavaScript节流函数中的Throttle
Jul 16 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
js实现方块上下左右移动效果
Aug 17 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
Sep 15 Javascript
vue 虚拟dom的patch源码分析
Mar 01 Javascript
浅谈Fetch 数据交互方式
Dec 20 Javascript
javascript实现数字时钟效果
Feb 06 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共享之NFS共享的方法
2007/03/16 PHP
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
解析php中memcache的应用
2013/06/18 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
javascript 页面划词搜索JS
2009/09/28 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
简单解析Django框架中的表单验证
2015/07/17 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
天网面试题
2013/04/07 面试题
新年联欢会主持词
2014/03/27 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
企业法人授权委托书
2014/09/25 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS