Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ernestovm

Captura foto da webcam e salvar no banco

Recommended Posts

Colegas, Salve!

Estou com um nó no juízo devido a uma tarefa que deveria ter concluido há dias. Capturar a imagem da webcam e salvar (inicialmente no campo bytea do banco, mas na atual conjuntura, salvar seja onde for). Já estudei diversas formas e em nenhuma delas consegui sequer VER a imagem no meu servidor. Finalmente vi um video no youtube mostrando da forma mais simples de todas como salvar a imagem na pasta uploads do mesmo diretório do snapshots. Segui à risca tudo e consegui montar a página que "faz o click e congela a foto capturada". Porém nada vai para o servidor. Abaixo a minha estrutura:

Diretórios:

- snapshots

dentro do snapshots:

- js: arquivos jquery.js e script.js

- webcam: arquivos webcam.js, webcam.swf e shutter.mp3

- uploads (com permissões para ler e gravar)

Arquivos:

index.php

<?
session_start();
import_request_variables("gP");
include "../includes/conexao.php";
$tab = $_SESSION["tabela_atual"];
if ($tab=="U") {
$cod = $_SESSION["usuario_atual"];
} else {
$cod = $_SESSION["analise_atual"];
}
$consulta2 = "select cod_usuario,nome,foto from usuarios_pdv where cod_usuario='$cod'";
$resultado2 = pg_exec( $conexao, $consulta2 );
while ($linha2 = pg_fetch_row($resultado2))
{
$nome_usuario = $linha2[1]; 
$foto_usuario = $linha2[2]; 
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sistema de Produtividade - Captura Imagem Webcam</title>
<link href="../css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="mainWrapper"><span class="TextArial18VermelhoBold">Capturar Foto do Promotor <? echo $nome_usuario." (".$tab.")"; ?></span>
<div id="camera"></div><!-- end camera -->
      	<div id="uploads"></div><!-- end uploads -->
	<a href="javascript:void(webcam.snap())" class="button"> Capturar </a>  |  
	<a href="javascript:void(webcam.upload())" class="button">Salvar</a>  |  
	<a href="javascript:void(webcam.reset())" class="button">Reset</a>  |  
	<a href="javascript:void(webcam.configure('camera'))" class="button"> Configure </a>
</div><!-- end main Wrapper -->
<script type="text/javascript" src="js/jquery.js"></script>
   <script type="text/javascript" src="webcam/webcam.js"></script>
   <script type="text/javascript" src="js/script.js"></script>
</body>
</html>

 

script.js

$(function() {
webcam.set_api_url('snapshots/upload.php');
webcam.set_swf_url('webcam/webcam.swf');
webcam.set_quality(90);
webcam.set_shutter_sound(true, 'webcam/shutter.mp3');
webcam.set_stealth( false );
$('#camera').html(webcam.get_html(640,480));
});

upload.php

<?
session_start();
import_request_variables("gP");
include "../includes/conexao.php";
$tab = $_SESSION["tabela_atual"];
if ($tab=="U") {
$cod = $_SESSION["usuario_atual"];
} else {
$cod = $_SESSION["analise_atual"];
}
$folder		= 'uploads/';
$filename	= 'imagem.jpg';
$input_con	= file_get_contents('php://input');
$bytes		= $input_con;
$bytes_escaped = pg_escape_bytea($bytes); 
$file_path	= $folder.$filename;
file_put_contents($file_path,$input_con);
if ($tab=="U") {
$SqlIns = "UPDATE usuarios_pdv";
$SqlIns.= " SET imagem='$bytes_escaped',foto='S' WHERE cod_usuario='$cod'";
} else {
if ($tab=="C") {
	$SqlIns = "UPDATE analise";
	$SqlIns.= " SET imagem='$bytes_escaped' WHERE codigo='$cod'";
} elseif ($tab=="A") {
	$SqlIns = "UPDATE analise";
	$SqlIns.= " SET foto_antes='$bytes_escaped' WHERE codigo='$cod'";
} elseif ($tab=="D") {
	$SqlIns = "UPDATE analise";
	$SqlIns.= " SET foto_depois='$bytes_escaped' WHERE codigo='$cod'";
}
}
$result = pg_exec($conexao , $SqlIns);
?>

Este último (upload.php) pega os parâmetros da SESSION que foi colocado pelo programa do meu sistema que chama o index.php e está funcionando legal, tanto que coloca no cabeçalho o usuário em questão a ser fotografado.

 

Alguém, poderia dar uma analisada nos códigos só pra ver alguma coisa errada que não consigo ver? Talvez porque já estou há tanto tempo nesse negócio que já não raciocino mais direito sobre o assunto.

Agradeço imensamente qualquer ajuda.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.