Ir para conteúdo
Jorge E. Hime Somers

webcam webforms c# postback javascript para webservices aspx

Recommended Posts

Caros,

 

Abaixo tenho um codigo que salva a imagem do canvas ser for um desenho, se for uma imagem de webcam não faz o postback !

qual o problema ?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="z_webcam.aspx.cs" Inherits="Portaria.z_webcam" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE HTML>
<head>
    <title>Saving Canvas to .png file on the server</title>
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"
        type="text/javascript"></script>
    <script type="text/Javascript">
        function drawShapes() {
            var canvas = document.getElementById("myCanvas");
            var context = canvas.getContext("2d");
            context.fillStyle = "green";
            context.fillRect(0, 0, 100, 200);
            context.beginPath();
            context.lineWidth = "4";
            context.strokeStyle = "Green";
            context.fillStyle = "Yellow";
            context.arc(150, 100, 50, 20, Math.PI * 2, false);
            context.stroke();
            context.fill();
        }
    </script>
</head>
<body onload="drawShapes()">
    <video id="player" autoplay="autoplay" width="270" height="200"></video>
    <button id="capture">Capturar</button>
    <canvas id="myCanvas" width="200" height="200"></canvas>
    <input type="button" id="btnSave" name="btnSave" value="Save the canvas to server" />
    <script type="text/javascript">

        /// begin of camera display to screen  
        /// and capture to canvas
        var player = document.getElementById('player');
        var snapshotCanvas = document.getElementById('myCanvas');
        var captureButton = document.getElementById('capture');
        var handleSuccess = function (stream) {
            player.srcObject = stream;
        };

        captureButton.addEventListener('click', function () {
            var context = myCanvas.getContext('2d');
            context.drawImage(player, 0, 0, snapshotCanvas.width, snapshotCanvas.height);
        });
        navigator.mediaDevices.getUserMedia({ video: true }).then(handleSuccess);
        /// end of camera display & capture
        // Send the canvas image to the server.
        $(function () {
            $("#btnSave").click(function () {
                var image = document.getElementById("myCanvas").toDataURL("image/png");
                image = image.replace('data:image/png;base64,', '');
                $.ajax({
                    type: 'POST',
                    url: 'z_webcam.aspx/UploadImage',
                    data: '{ "imageData" : "' + image + '" }',
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (msg) {
                        alert('Image saved successfully !');
                    }
                });
            });
        });
    </script>
</body>
</html>

abaixo o webservices.. 

 

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Portaria
{
    public partial class z_webcam : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string teste = "";
            teste = "asdf";
        }
    }
    [ScriptService]
    public partial class z_webcam : System.Web.UI.Page
    {
        static string path = @"D:\temp\";
        [WebMethod()]
        public static void UploadImage(string imageData)
        {
            string fileNameWitPath = path + DateTime.Now.ToString().Replace("/", "-").Replace(" ", "- ").Replace(":", "") + ".png";
            using (FileStream fs = new FileStream(fileNameWitPath, FileMode.Create))
            {
                using (BinaryWriter bw = new BinaryWriter(fs))
                {
                    byte[] data = Convert.FromBase64String(imageData);
                    bw.Write(data);
                    bw.Close();
                }
            }
        }
    }

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Luiz Fernando 111
      Caros amigos, estou tentando adicionar soma entre inputs do html e do javascript, mas com esse exemplo, apenas consegui colocar no input do html. Como faço para implementar no input do javascript e somar o valor junto com o Valor Total mostrar lucro quando foi debito e prejuizo quando for crédito ? Alguém poderia me dá help !!!
       
       

    • Por Bobrinha
      Olá a todos.
       
      Tenho uma dúvida e não sei se é possível caso tenha alguma sugestão por favor avise.
       
      Adicionar resultado de um innerhtml dentro de um link atributo href é possível? ou seja eu tenho um input onde seleciono um ano 
       
      <select id="ano"> <option selected>2019</option> <option value="2018">2018</option> <option value="2017">2017</option> </select> <div id="anoAtual"></div> No query pego o valor ou seja o ano selecionado e jogo no html
       
      $("select").change(function () { document.getElementById("ano").innerHTML = document.getElementById("anoAtual").value; });  
      Agora vem a dúvida como eu jogo na URL? existe uma outra forma? é possível?
       
      <a href='resultado.php&ano=COMO JOGAR O ANO AQUI?'>  
       
    • Por LuanMartinsTI
      Eu tenho o seguinte codigo para capturar minha camera e meu audio, toda vez que eu entro na pagina x ela executa o js e pede acesso a camera de quem acessa a pagina, porem eu vou bloquear essa pagina para que apenas eu ou pessoa autorizadas possam acessar, queria saber o seguinte, eu sei capturar o video e audio, mas como eu vou mostrar pro usuario o meu video e o meu audio??
      <script> video = document.createElement('video'); video.width = 320; video.height = 240; video.autoplay = true; var hasUserMedia = navigator.webkitGetUserMedia ? true : false; navigator.webkitGetUserMedia('video', function(stream){ video.src = webkitURL.createObjectURL(stream); }, function(error){ console.log("Navegador nao suporta", error); }); </script>  
    • Por martinazzo
      não consigo apagar, então deixei assim... se alguém conseguir por favor
    • Por rd111072
      Olá! Preciso pegar o valor de uma variável javascript, postar para uma página php pra criar uma variável session php.
      aqui tento passaar a variável js:
       
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript"> var valor = ""; $(document).ready(function() { $('input:radio[name=aviso]').click(function() { //Executa Loop entre todas as Radio buttons com o name de valor $('input:radio[name=aviso]').each(function() { //Verifica qual está selecionado if ($(this).is(':checked')) valor = parseInt($(this).val()); }) alert(valor); $.post( "cria_session.php", { aviso: valor} ); }) }) </script> Aqui tento, ao menos, imprimir na tela:
      <? echo "Olá <script>document.write(valor)</script>"?> Só o que funciona é o alert ^^^.

      Alguém sabe?
       
×

Informação importante

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