javascript - 使用 PHP 和 JavaScript 从网络摄像头捕获图像并保存在文件夹中

标签 javascript php jquery

请查看下面给出的代码,我想使用 PHP 和 AJAX 将图像以 JPG 格式保存在文件夹中。请帮助我,我做不到。

function base64_toimage() 
{
  $('#image').attr("src","data:image/png;base64,"+$.scriptcam.getFrameAsBase64());
};
function base64_tofield_and_image(b64) 
{
    $('#formfield').val(b64);
    $('#image').attr("src","data:image/png;base64,"+b64);
};
function changeCamera()
{
    $.scriptcam.changeCamera($('#cameraNames').val());
}       
function onError(errorId,errorMsg) {
    $( "#btn1" ).attr( "disabled", true );
    $( "#btn2" ).attr( "disabled", true );
    alert(errorMsg);
}           
function onWebcamReady(cameraNames,camera,microphoneNames,microphone,volume) {
    $.each(cameraNames, function(index, text) {
    $('#cameraNames').append( $('<option></option>').val(index).html(text) )
      }); 
    $('#cameraNames').val(camera);
}
</script> 
<br />
<div id="webcam" ></div>
<div  style="width:250px;float:left;" ><img src="webcamlogo.png" alt="" style="vertical-align:text-top"  /> 
<select name="cameraNames" size="1" id="cameraNames" style="width:205px;font-size:10px;height:25px;" onChange="changeCamera()"></select></div>

最佳答案

检查this 在 MDN 上,非常清楚如何使用 WebRTC 创建一个简单的照相亭。

问题的第二部分是如何将图像数据保存到磁盘:

  1. 如果您检查生成的图像,您会发现类似以下内容:

< img id = "photo"
alt = "The screen capture will appear in this box."
src = "data:image/png;base64 ...... " >

  • 您需要使用Javascript获取img的src属性
  • var myImg = document.getElementById("yourImgId").src;

  • 然后使用 php 保存您的文件:
  • $data = myImg;
    
    list($type, $data) = explode(';', $data);
    list(, $data) = explode(',', $data);
    $data = base64_decode($data);
    
    file_put_contents('path_to_your_directory/tmp/image.png', $data);

    请注意,此页面将是一个 php 文件。

    可以使用<? ?>直接插入php代码.

    如果您想通过 jquery 执行此操作,只需将您的 Imgdata 发布到远程 php 文件即可。

    关于javascript - 使用 PHP 和 JavaScript 从网络摄像头捕获图像并保存在文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30389392/

    相关文章:

    javascript - 使用 JS 循环从 HTML 按钮发送唯一的变量来运行

    javascript - 使用带有条件javascript的 map 从数组中提取id

    php for循环查询在magento

    jquery - 我应该如何调用我的 JavaScript. href、onclick 还是绑定(bind)点击事件?

    jquery - 在 Bootstrap 轮播中以透明形状包装文本

    javascript - 如何获得用css rotate变换的元素的位置

    php - 使用 jquery post 请求到同一页面

    php - 如何在 Internet Explorer 的谷歌图表中制作透明背景?

    PHP WooCommerce Rest API 客户端库创建多个优惠券

    jquery - 无法获取后续 <p> 标记的 .text()