Jump to content
FBCARVALHO

ASP - Capturar e Salvar Imagem WebCam Servidor - ASP

Recommended Posts

Boa tarde, pessoal do imaster!

 

Estou quebrando a cabeça a um tempo, pois configurei o scriptcam em uma pagina ASP e blz. Funciona direitinho, exibe a imagem da WebCam e captura, mas não consegui alterar o código para que ele salve a imagem capturada em um input de um Form para inserir em um banco de dados. Gostaria de saber se alguém já passou por isto e pudesse me dar umas dicas? Achei exemplos somente em PHP, mas nada para ASP clássico.

 

Abaixo o código original:

 

<!DOCTYPE html>

<html>

<head>

<script language="JavaScript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script language="JavaScript" src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

<script language="JavaScript" src="scriptcam.js"></script>

<script language="JavaScript">

$(document).ready(function() {

$("#webcam").scriptcam({

showMicrophoneErrors:false,

onError:onError,

cornerRadius:20,

disableHardwareAcceleration:1,

cornerColor:'e3e5e2',

onWebcamReady:onWebcamReady,

uploadImage:'upload.gif',

onPictureAsBase64:base64_tofield_and_image

});

});

function base64_tofield() {

$('#formfield').val($.scriptcam.getFrameAsBase64());

};

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>

</head>

<body>

<div style="width:330px;float:left;">

<div id="webcam">

</div>

<div style="margin:5px;">

<img src="webcamlogo.png" style="vertical-align:text-top"/>

<select id="cameraNames" size="1" onChange="changeCamera()" style="width:245px;font-size:10px;height:25px;">

</select>

</div>

</div>

<div style="width:135px;float:left;">

<p><button class="btn btn-small" id="btn1" onclick="base64_tofield()">Snapshot to form</button></p>

<p><button class="btn btn-small" id="btn2" onclick="base64_toimage()">Snapshot to image</button></p>

</div>

<div style="width:200px;float:left;">

<p><textarea id="formfield" style="width:190px;height:70px;"></textarea></p>

<p><img id="image" style="width:200px;height:153px;"/></p>

</div>

</body>

</html>

Share this post


Link to post
Share on other sites

dá uma olhada no fórum que coloquei alguns exemplos...

 

tem um ótimo em jquery

Share this post


Link to post
Share on other sites

Encontrei um tutorial sobre o JPEGCAM e rodei em meu servidor e funcionou, mas onde vou rodar a plataforma é ASP Classico e a pagina que faz isto está em PHP. Você chegou a ver algum código parecido, mas em ASP?

 

<?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( $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_URL']) . '/' . $filename;

print "$url\n";

 

?>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By camisavp
      Boa tarde.
       
      Estou com umas boas dificuldades aqui. Preciso que, em um formulário grande, eu ao digitar o numero do prontuário, caso já exista ele cadastrado, me retorne alguns campos preenchidos automaticamente.
       
      Estou tentando montar um formulário da seguinte maneira:
       
      form:
       
      input 1: - vai buscar a informação no banco de dados. se possível, com um autopreenchimento durante a digitação
       
      input 2: - caso já exista um prontuário, popular o input com os dados retirados do banco de dados
       
      input 3: - será preenchido manualmente
       
      input 4: - caso já exista um prontuário, popular o input com os dados retirados do banco de dados
       
      input 5: - caso já exista um prontuário, popular o input com os dados retirados do banco de dados
       
      input 6: - será preenchido manualmente
       
      input 7: - será preenchido manualmente
       
      ... mais uma série de inputs preenchidos manualmente
       
      /form.
       
      Não sou um estudioso e nem estou na minha área, pois sou engenheiro, haja visto que a aplicação é residencial e ainda em asp clássico com banco de dados access. kkkkkkkkkk
       
      Faço isso como hobby.
       
      Passei duas semanas já tentando achar uma solução, porém sem sucesso.
       
      Agradeço a ajuda de quem puder colaborar.
       
      Grato
       
      Marcelo Camisa
       
    • By s3c0
      Fala galera,
       
      boa tarde. Estou precisar criar uma página para recuperar algumas informações do PC.
       
      Achei um script, porém a informação não é visualizado na página.
       
      Segue script
      <% Set objShell = server.CreateObject("WScript.Shell") Set objExec = objShell.Exec("cmd /c powershell wmic cpu get loadpercentage") Set objStdOut = objExec.StdOut response.write "CPU:<BR>" While Not objStdOut.AtEndOfStream Response.write objStdOut.ReadLine &"<BR>" Wend objExec.StdIn.Close() %> Alguém tem alguma ideia do que está errado?
       
      Agradeço a atenção de todos!
    • By portallweb
      Bom dia, pessoal.
       
      A questão é que eu consigo acessar um endereço "dominio.com/modulo/id/titulo" e ele reescrever para "dominio.com/default.asp?link=artigo&id=123&titulo=teste", mas minha dúvida é se consigo fazer o processo reverso, ou seja, acessar "dominio.com/default.asp?link=artigo&id=123&titulo=teste" e ele alterar para "dominio.com/modulo/id/titulo".
       
      Códigos:
       
      WEB.CONFIG
       
      <?xml version="1.0" encoding="UTF-8"?> <system.webServer>     <rewrite>         <rules>             <rule name="artigo" stopProcessing="true">                 <match url="^artigo/?([a-zA-Z0-9_-]+)?/?([a-zA-Z0-9_-]+)?/?([a-zA-Z0-9_-]+)?$" />                 <conditions>                      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />                      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />                  </conditions>                 <action type="Rewrite" url="default.asp?link={R:0}&id={R:1}&teste={R:2}" />             </rule>         </rules>     </rewrite> </system.webServer>  
      ASP
       
      <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"/> <title>Teste Isapi Rewrite</title> </head> <body> <p> Teste!<br> link: <%=request("link")%><br> id: <%=request("id")%><br> teste: <%=request("teste")%><br> </p> </body> </html>  
      Desde já agradeço!
    • By fsanchez
      Olá Pessoal!
       
       
      Para auxilio de outros desenvolvedores que estão iniciando com WEBHOOK, segue algumas dicas que obtive desenvolvendo um webhook.
       
      Webhook de forma resumida:
       
      - Webhooks permitem criar integrações que comunicam eventos ocorridos nos documentos da plataforma da Clicksign. Quando um evento ocorre, a Clicksign notifica a sua aplicação imediatamente, através de uma requisição HTTP POST para a URL previamente cadastrada.
       
      Eventos dentro do webhook
      - Quando ocorrerem eventos nos documentos, uma requisição HTTP POST será disparada para a URL previamente cadastrada nas configurações da conta. 
       
      Aqui que vem a dica:
      O servidor cliente faz uma requisição, e aguarda uma resposta da sua aplicação, informando se você recebeu a requisição:
      - Responda a requisição do Webhook com uma resposta HTTP 200 OK. Qualquer resposta fora do intervalo 2XX informará que você não recebeu seu webhook.
       
      exemplo em  ASP :
       
      Response.ContentType = "application/json"
      Response.Status="HTTP/1.1 200 OK"
       
      Depois é só alegria, tratar dados recebidos.
      exemplo:
       
      ATRAVES DO SERVERVARIABLES CONSIGO OBERTER O RESULTADO DA REQUISIÇÃO

      cabecalho_completo = Request.ServerVariables("ALL_HTTP") 
      content_type = Request.ServerVariables("CONTENT_TYPE")
      ...etc...
       
       
      Pra voce conseguir pegar o json, isso em ASP,  será necessario converte - lo em Tipo Byte, depois em String para você se quiser obter alguma tag do JSON para algum tratamento.
      exemplo:
       
      Dim lngBytesCount
      lngBytesCount = Request.TotalBytes
      jsonstring = BytesToStr(Request.BinaryRead(lngBytesCount))

      Function BytesToStr(bytes)
          Dim Stream
          Set Stream = Server.CreateObject("Adodb.Stream")
          Stream.Type = 1 'tipo de dados binarios
              Stream.Open
              Stream.Write bytes
              Stream.Position = 0
          Stream.Type = 2 'tipo de dados texto
              Stream.Charset = "iso-8859-1"
              BytesToStr = Stream.ReadText
              Stream.Close
          Set Stream = Nothing
      End Function

      'Instancio o obejto JSON'
      Set oJSON = New aspJSON
      'Carrego a String JSON
      oJSON.loadJSON(jsonstring)
      'Obter valor simples
      nome_tag = oJSON.data("tagJSON").item("tagJSON")
       
       
       
       
       
    • By fsanchez
      Como Posso recuperar o retorno do JSON que foi enviado via POST de uma requisição Webhook em asp classic.
       
      Precisaria mais ou menos assim:
       
      POST / HTTP/1.1 Host: testecrm.requestcatcher.com Accept: */* Accept-Encoding: gzip, deflate Content-Hmac: sha256=fc9e789996bdd63c0f03dacccb1ef992310d8516d9e8673bce5b1d0825100cda Content-Length: 5363 Content-Type: application/json Event: add_signer User-Agent: rest-client/2.0.2 (linux-musl x86_64) ruby/2.6.3p62 X-Newrelic-Id: VQUDV1JXGwICU1RWBggDUg== X-Newrelic-Transaction: PxQHAAQGDldRU1lWVgUGAFIIFB8EBw8RVU4aUllaUQRXBA5ZBQAHUwIADkNKQQoKA1IAVwAEFTs=  
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.