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 获取图片颜色
Apr 05 Javascript
面向对象的编程思想在javascript中的运用上部
Nov 20 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
Aug 15 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
Nov 23 Javascript
JS延时提示框实现方法详解
Nov 26 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
Mar 27 Javascript
详解vue mint-ui源码解析之loadmore组件
Oct 11 Javascript
js实现控制文件拖拽并获取拖拽内容功能
Feb 17 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 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代码
2007/03/08 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
2013/06/24 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
ptyhon实现sitemap生成示例
2014/03/30 Python
用Python编程实现语音控制电脑
2014/04/01 Python
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python中zip函数如何使用
2020/06/04 Python
python 常见的排序算法实现汇总
2020/08/21 Python
python3字符串输出常见面试题总结
2020/12/01 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
英国办公用品商店:Office Outlet
2018/04/04 全球购物
中学生运动会入场词
2014/02/12 职场文书
元旦晚会活动总结
2014/07/09 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书