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 相关文章推荐
javascript new后的constructor属性
Aug 05 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
Nov 30 Javascript
jQuery遍历Form示例代码
Sep 03 Javascript
AngularJS内置指令
Feb 04 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
JS创建对象的写法示例
Nov 04 Javascript
js中创建对象的几种方式
Feb 05 Javascript
canvas简单快速的实现知乎登录页背景效果
May 08 Javascript
基于JS对象创建常用方式及原理分析
Jun 28 Javascript
vue组件name的作用小结
May 23 Javascript
小程序分享模块超级详解(推荐)
Apr 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/02/22 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
vue文件运行的方法教学
2019/02/12 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
Python基类函数的重载与调用实例分析
2015/01/12 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
python issubclass 和 isinstance函数
2019/07/25 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
COS美国官网:知名服装品牌
2019/04/08 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
广州一家公司的.NET面试题
2016/06/11 面试题
机电一体化毕业生自荐信
2014/06/19 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
基于Python实现西西成语接龙小助手
2022/08/05 Golang