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

时间:2015-05-22 06:01:34

标签: 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>

            

1 个答案:

答案 0 :(得分:1)

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

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

  1. 如果你检查生成的图像,你会发现类似的东西:
  2. &#13;
    &#13;
    < img id = "photo"
    alt = "The screen capture will appear in this box."
    src = "data:image/png;base64 ...... " >
    &#13;
    &#13;
    &#13;

    1. 你需要使用Javascript
    2. 获取img的src属性

      &#13;
      &#13;
      var myImg = document.getElementById("yourImgId").src;
      &#13;
      &#13;
      &#13;

      1. 然后使用php保存您的文件:
      2. &#13;
        &#13;
        $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);
        &#13;
        &#13;
        &#13;

        请注意,此页面将包含 php 文件。

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

        如果你想通过jquery这样做,只需将你的Imgdata发布到远程php文件。