javascript - 使用 WebRTC 将从网络摄像头捕获的图像上传到服务器
问题描述
我正在做一个演示项目,因为我实际上是编码新手,现在遇到了一些问题。基本上我的项目是关于智能考勤,学生需要将他们在手机上拍摄的自拍提交到服务器。这个项目使用 HTML 和 CSS 和 Js。我正在使用表单提交图像,方法是 POST。所以我参考了这个来使用 WebRTC 从我的网络摄像头捕获图像。从我从几个论坛帖子中读到的内容来看,WebRTC 捕获图像并且图像不是图像文件,而是采用 base64 格式。基于多项研究,以下是 JavaScript 中执行捕获过程的代码:
function takepicture() {
var context = canvas.getContext('2d');
if (width && height) {
canvas.width = width;
canvas.height = height;
context.drawImage(video, 0, 0, width, height);
var data = canvas.toDataURL('image/png');
photo.setAttribute('src', data);
$.ajax({
url: "/",
data: data,
type: 'POST'
success: function(dataR) {}
error: function(xhr, status, error) {
console.log('Error:' + error.message);
}
});
} else {
clearphoto();
}
}
HTML Code:
<form method="POST" form class="login100-form validate-form" enctype="multipart/form-data">
<div class="wrap-input100 validate-input" data-validate="Enter e-mail">
<input class="input100" type="text" name="staff_email" placeholder="E-mail">
<span class="focus-input100" data-placeholder=""></span>
</div>
<div class="camera">
<video id="video">Video stream not available.</video>
<button id="startbutton">Take photo</button>
</div>
<canvas id="canvas">
</canvas>
<div class="output">
<img id="photo" alt="The screen capture will appear in this box.">
</div>
我想将拍摄的照片提交到服务器,但它根本没有提交。我可以知道我面临什么样的问题吗?我很乐意提供更多说明。从其他一些帖子中,他们使用 PHP,我并不真正拥有它的知识.....在此先感谢 =)
解决方案
推荐阅读
- faunadb - FaunaDB crud 事件/触发器
- canvas - 我如何在我的 fabric.js 画布中引入基于键的事件?
- javascript - 带有按钮和输入的弹出式 HTML 内容未呈现
- php - 更改功能以显示日期
- python - 带有 DRF 的 django-filter 不加入过滤器字段
- python - ValueError:检查输入时出错:预期dense_input的形状为(46,)但得到的数组形状为(1,)
- algorithm - 显示 2^n 是 O(n!)
- ruby-on-rails - 使用 delete_all/delete 删除 rails 活动记录违反外键约束
- docker - 如何让 docker-compose 在 windows 上 docker 生成的 jenkins 管道中工作?
- c# - Wpf Desktop Api 调用持续时间比实际 api 响应时间长约 8-10 秒