2011-07-04 115 views
2

即时通讯使用jquery网络摄像头插件从网络摄像头捕获的图像很难保存。 这里的代码..jQuery网络摄像头插件 - 保存图像

$(document).ready(function(){ 
    $("#camera").webcam({ 
     width: 320, 
     height: 240, 
     mode: "save", 
     swffile: "jscam.swf", 
    }); 

    }); 

我使用的是“保存”模式。在身体部位..

<div id="camera"></div> 
<a href="javascript:webcam.save('upload.php');void(0);">capture</a> 
在upload.php的部分

..

$str = file_get_contents("php://input"); 
file_put_contents("upload.jpg", pack("H*", $str)); 

我也尝试回调模式仍然不起作用。它似乎是博客本身没有足够的例子

http://www.xarg.org/project/jquery-webcam-plugin/

[更新]

终于得到了它的工作!我可以捕捉图像。我挖了页面的源代码,并在我的代码上添加了一个onload eventlistener:D

现在我唯一的问题是如何保存图像。该博客并未明确说明如何。它只是给了代码

webcam.save('/upload.php'); 

这是老实说,我不知道该怎么办,不像他给的php代码。应该我把它放在链接?或编辑onCapture部分

+0

哪一部分失败?它是否正确地获得了PHP代码,或者是PHP文件如何获取数据等的错误? –

+0

'javascript:webcam.capture(); changeFilter(); void(0);'假设保存...看链接'立即拍摄图片' – Val

+0

它不显示任何内容。 @val capture()函数,我认为它只能在回调模式下使用。就像我说的我正在使用保存模式。虐待后尝试​​:) – kapitanluffy

回答

3

你将需要做一些PHP下面是一个基本的上传脚本,从JPEGCam项目

<?php 

/* JPEGCam Test Script */ 
/* Receives JPEG webcam submission and saves to local file. */ 
/* Make sure your directory has permission to write files as your web server user! */ 

$filename = date('YmdHis') . '.jpg'; 
$result = file_put_contents('/path/to/file/store/or/site/' . $filename, 
     file_get_contents('php://input')); 
if (!$result) { 
    print "ERROR: Failed to write data to $filename, check permissions\n"; 
    exit(); 
} 

$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . '/' 
    . $filename; 
print "$url\n"; 

?> 
+0

目前在另一个项目中,但我想这应该是工作:)要尽快尝试 – kapitanluffy

+0

任何想法为什么我得到一个破碎的图像? – jpganz18