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 相关文章推荐
innerText和innerHTML 一些问题分析
May 18 Javascript
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
Javascript基础教程之break和continue语句
Jan 18 Javascript
js实现对table动态添加、删除和更新的方法
Feb 10 Javascript
基于jQuery滑动杆实现购买日期选择效果
Sep 15 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
js变量声明var使用与不使用的区别详解
Jan 21 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
Protoss兵种对照表
2020/03/14 星际争霸
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
input的focus方法使用
2010/03/13 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
js中document.write的那点事
2014/12/12 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
跟老齐学Python之编写类之二方法
2014/10/11 Python
python七夕浪漫表白源码
2019/04/05 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
英文版销售经理个人求职信
2013/11/20 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
喝酒检查书范文
2014/02/23 职场文书
小学校本培训方案
2014/06/06 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android