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模拟多线程
Feb 07 Javascript
JQuery 选择器 xpath 语法应用
May 13 Javascript
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
jQuery实现公告文字左右滚动的实例代码
Oct 29 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
node.js中的http.createClient方法使用说明
Dec 15 Javascript
jQuery实现360°全景拖动展示
Mar 18 Javascript
js控制div弹出层实现方法
May 11 Javascript
AngularJS报错$apply already in progress的解决方法分析
Jan 30 Javascript
vue 文件目录结构详解
Nov 24 Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
Jan 20 Javascript
vue 子组件修改data或调用操作
Aug 07 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数组中包含中文的排序方法
2014/06/03 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python开头的coding设置方法
2019/08/08 Python
Python循环实现n的全排列功能
2019/09/16 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
python——全排列数的生成方式
2020/02/26 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
python Tornado框架的使用示例
2020/10/19 Python
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
央视元宵晚会主持串词
2014/03/25 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
初中班主任教育随笔
2015/08/15 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript
Consul在linux环境的集群部署
2022/04/08 Servers
sql注入报错之注入原理实例解析
2022/06/10 MySQL