js vue 在页面中将摄像头放在一个标签里展示,(模仿手机拍照功能)
1.HTML
<video id="video" autoplay class="fileImg"></video>
<canvas id="canvas" width="640" height="480"></canvas>
2.JS
<script>
let aVideo = document.getElementById('video');
let aCanvas = document.getElementById('canvas');
let ctx = aCanvas.getContext('2d'); navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia; //获取媒体对象(这里指摄像头)
navigator.getUserMedia({
video: true
}, gotStream, noStream); //参数1获取用户打开权限;参数二成功打开后调用,并传一个视频流对象,参数三打开失败后调用,传错误信息 function gotStream(stream) {
video.src = URL.createObjectURL(stream);
video.onerror = function() {
stream.stop();
};
stream.onended = noStream;
video.onloadedmetadata = function() {
// alert('摄像头成功打开!');
};
} function noStream(err) {
// alert(err);
} function uploadImg(){
ctx.drawImage(aVideo, 0, 0, 640, 480);
alert(aCanvas.toDataURL('image/png')) // 得到base64,需要后台将base64转换并上传到服务器,返回线上http路径
const res = await fileUpload({imgStr: aCanvas.toDataURL('image/png')}) // 调取后台接口 if (res.data.code == 0){
this.headImage = res.data.data.string //得到后台返回路径 }
}
</script>
js vue 在页面中将摄像头放在一个标签里展示,(模仿手机拍照功能)的更多相关文章
- (vue.js)Vue element tab 每个tab用一个路由来管理?
		
(vue.js)Vue element tab 每个tab用一个路由来管理? 来源:网络整理 时间:2017/5/13 0:24:01 关键词: 关于网友提出的“ (vue.js) ...
 - 一JavaScript获取当前月份的前12个月,获取最近的12个月二js实现获取当前月份前的12个月份,格式化后放在一个数组里
		
一 ,var dataArr = []; var data = new Date(); var year = data.getFullYear(); data.setMonth(data.getMon ...
 - 点击后退按钮回到本页面中的另一个标签页(tab)
		
在使用zepto进行微信网页开发的时候,遇到一个情况,在本页面存在四个TAB栏,每点击一个栏会显示相应的内容,下图这种: 现在有一个需求是,用户点击了后退按钮,需要回到上一次点击的tab栏. 这个需求 ...
 - 如何对多个文件进行MODELSIM仿真?  (由于是一个很大的项目,不可能把所有MODULE都放在一个文件里。 如何在ModelSim中对多个.V文件进行仿真?)
		
可以将所有要编译的所有文件的名字做一个list.新建一个文本文档,重命名为vflist vflist内容例子如下(src为文件夹):src/base_addr_chk.vsrc/config_mux. ...
 - Xpath提取一个标签里的所有文本
		
content = etree.HTML(text) h = content.xpath('//h1') h1 = h[0].xpath('string(.)').strip()
 - MongoDB 倾向于将数据都放在一个 Collection 下吗?
		
不是这样的. Collection 的单个 doc 有大小上限,现在是 16MB,这就使得你不可能把所有东西都揉到一个 collection 里.而且如果 collection 结构过于复杂,既会影响 ...
 - Node.js npm基础安装配置&创建第一个VUE项目
		
使用之前,我们先来明白这几个东西是用来干什么的. node.js: 一种javascript的运行环境,能够使得javascript脱离浏览器运行.Node.js的出现,使得前后端使用同一种语言,统一 ...
 - 用js把数据从一个页面传到另一个页面
		
用js把数据从一个页面传到另一个页面的层里? 如果是传到新页面的话,你网站基于什么语言开发直接用get或者post获取,然后输出到这个层 通过url传参 如果是HTML页面的话JS传到新页面就wind ...
 - JS下拉页面时一个横幅的样式和js
		
整理之前的代码,发现有一个js,就是页面往下浏览时,上面的商品名称和购买按钮在页面上方悬浮的,就整理下来,代码如下: <script type="text/javascript&quo ...
 
随机推荐
- js前后五年的时间日期万年历
			
<script src='bootstrap/js/jquery-1.11.2.min.js'></script>//引入JQUERY文件<div> <sel ...
 - mysql 用行号rownum更新顺序号字段
			
UPDATE customer SET OrderNo = ( SELECT afterOrder.rowNum FROM ( SELECT @row_number := CASE WHEN @cus ...
 - linux 扩展文件系统
			
1. 创建新分区 [root@localhost ~]# fdisk -l Disk /dev/sda: bytes, sectors Units = sectors of * = bytes Sec ...
 - 2019 Lonsdor K518S VS K518ISE
			
2019 Lonsdor K518S VS K518ISE: The same: IMMO capabilities + Vehicle coverage. The difference: The u ...
 - PostgreSql之在group by查询下拼接列字符串
			
首先创建group_concat聚集函数: CREATE AGGREGATE group_concat(anyelement) ( sfunc = array_append, -- 每行的操作函数,将 ...
 - go语言入门教程:基本语法之变量声明及注意事项
			
一.变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称.在go中声明变量有多种语法. 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明 ...
 - zigbee 中ZDO的理解
			
---恢复内容开始--- ZigBee 物理层:主要进行无线数据的收发,同时定义了无线传输的信道以及频率. MAC层:使用CSMA-CA机制接入到无线信道,负责传输信标帧,保持同步和 ...
 - 在linux上安装python, jupyter,  虚拟环境(virtualenv)以及 虚拟环境管理之virtualenvwraper
			
一, 安装python31.下载python3源码 wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz2.解压缩源码包,去 ...
 - Unity Ragdoll 实现死亡效果 心得+坑点总结
			
效果展示 正如其名,Ragdoll可以让人物模型实现像布娃娃一样物理效果 创建Ragdoll 在场景中新建 3D Object → Ragdoll... 接下来是一个初见复杂的绑定界面,这里我做了简单 ...
 - my work
			
Dad, what's your first job? How did you achieved?