Javascript 从网络摄像头保存图像在本地主机上可以正常工作,但在服务器上不行
下面是我的代码。它在本地主机上运行得非常好。不知何故,当我把它上传到服务器上时,图像并没有得到保存 index.php:Javascript 从网络摄像头保存图像在本地主机上可以正常工作,但在服务器上不行,javascript,php,html,webcam.js,Javascript,Php,Html,Webcam.js,下面是我的代码。它在本地主机上运行得非常好。不知何故,当我把它上传到服务器上时,图像并没有得到保存 index.php: <!doctype html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Simple C
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Simple Capture Web camera image </title>
<style type="text/css">
body { font-family: Helvetica, sans-serif; }
h2, h3 { margin-top:0; }
form { margin-top: 16px; }
form > input { margin-right: 16px; }
#img_output { float:right; margin:21px; padding:21px; border:1px solid; background:#3d3d3d; }
</style>
</head>
<body>
<div id="img_output">Live captured image will Display here...</div>
<h1>jQuery Capture Web camera image </h1>
<h3>Live Demo And Example Demonstrates simple Images 600x460 capture & display here</h3>
<div id="live_camera"></div>
<script type="text/javascript" src="webcam.js"></script>
<script language="JavaScript">
Webcam.set({
width: 600,
height: 460,
image_format: 'jpeg',
jpeg_quality: 90
});
Webcam.attach( '#live_camera' );
</script>
<form>
<input type=button value="Take Snapshot" onClick="get_take_snap()">
</form>
<script language="JavaScript">
function get_take_snap() {
// Simple call the take some your selfi and some get your live image data
Webcam.snap( function(data_uri) {
// display img_output in page
Webcam.upload( data_uri, 'storeImage.php', function(code, text) {
document.getElementById('img_output').innerHTML =
'<h2>Here is your Display image:</h2>' +
'<img src="'+text+'"/>';
} );
} );
}
</script>
</body>
</html>
简单捕获网络摄像头图像
正文{字体系列:Helvetica,无衬线;}
h2,h3{页边距顶部:0;}
表格{页边距顶端:16px;}
表单>输入{右边距:16px;}
#img_输出{浮点:右;边距:21px;填充:21px;边框:1px实心;背景:#3d3d;}
现场拍摄的图像将显示在这里。。。
jQuery捕获Web摄像头图像
现场演示和示例在此演示简单图像600x460捕获和显示
网络摄像机({
宽度:600,
身高:460,
图像_格式:“jpeg”,
jpeg_质量:90
});
网络摄像头。连接(“现场摄像头”);
函数get_take_snap(){
//简单的打电话给take your selfi和get your live image data
网络摄像头.snap(函数(数据uri){
//在第页中显示img_输出
上传(数据uri,'storeImage.php',函数(代码,文本){
document.getElementById('img_output')。innerHTML=
'这是您的显示图像:'+
'';
} );
} );
}
PHP代码
<?php
$myfilename = time() . '.jpg';
$livefilepath = 'upload/';
move_uploaded_file($_FILES['webcam']['tmp_name'], $livefilepath.$myfilename);
echo $livefilepath.$myfilename;
?>
托管提供商的服务器管理团队解决了该问题。后端对此进行了完整的权限修复,因此所有权限都已修复,包括根目录。您从PHP获得了什么输出?你有错误吗?您是否在服务器的PHP配置中打开了错误报告或日志记录?如果是,您是否检查了错误日志文件?(我这样问是因为你的问题没有提供任何关于你如何试图调查这个问题的信息。)。通常情况下,在一个环境中保存文件而不是在另一个环境中保存文件的代码最可能的原因是路径不存在,或者PHP/Apache没有写入该路径的权限。如果您查看日志,很可能会收到错误消息。@ADyson错误如下:您正在查找的资源已被删除、名称已更改或暂时不可用。404(未找到)是您尝试向storeImage.php
发出请求时在浏览器控制台中看到的吗?或者你在别的地方看到了?请说清楚。不管怎样,你知道404错误是什么意思吗?基本上,有一个文件是您的浏览器试图请求的,它要么从您的服务器中丢失,要么位于错误的位置(或者指向它的链接错误)。如果您能解释发生错误时浏览器正在请求哪个URL,这会有所帮助。是index.php吗?还是storeImage.php?或者PHP返回并在img src
?@ADyson中使用的路径,可以在控制台网络中看到。保存图像的路径是完美的。它在服务器中。给它的链接是正确的。错误发生在PHP返回的路径上,并且图像未存储在文件夹中。storeImage.php仅显示已保存图像的名称。如果未存储图像,请返回我的第一条评论。您是否查看了服务器上的PHP错误日志文件,以查看在保存过程中是否记录了任何错误/警告?