none
Gravar imagem no banco de dados RRS feed

  • Pergunta

  • Estou tentando enviar uma imagem para o banco,em bytes, só que ele está gravando apenas a frase System.Byte[]
             

    contexto = new ModelDataContext();

                if (upload.HasFile)
                {
                    contexto = new ModelDataContext();
                    Stream imagemsalva = upload.PostedFile.InputStream;
                    string filePath = upload.PostedFile.FileName;
                    string filename = Path.GetFileName(filePath);
                    string ext = Path.GetExtension(filename);
                    BinaryReader leitor = new BinaryReader(imagemsalva);
                    Byte[] bytesimagem = leitor.ReadBytes((Int32)imagemsalva.Length);
                    Usuario usuario = new Usuario();
                    usuario.fotoPerfil = leitor.ToString();
                    usuario.fotoPerfil = bytesimagem.ToString();
                    contexto.Usuarios.InsertOnSubmit(usuario);
                    contexto.SubmitChanges();
                }

    segunda-feira, 6 de julho de 2015 12:59

Respostas

Todas as Respostas

  • Vc ta convertendo byte pra string... No seu banco como está o tipo da coluna que será gravada a imagem?

    De uma olhada nesse site http://www.dotnetgallery.com/kb/resource21-How-to-store-and-retrieve-images-from-SQL-server-database-using-aspnet.aspx.aspx


    Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985

    • Marcado como Resposta gnnrz4 segunda-feira, 6 de julho de 2015 13:11
    segunda-feira, 6 de julho de 2015 13:05
  • Opaaa, consegui muito obrigado !! você teria alguma ideia de como por exemplo selecionar e image e já exibi-la sem precisar atualizar a pagina , como a capa do faceboock por exemplo ?
    • Editado gnnrz4 segunda-feira, 6 de julho de 2015 13:11
    segunda-feira, 6 de julho de 2015 13:11
  • Se vc estiver usando Jquery, na ação de gravar a imagem você pode fazer uma chamada ajax ao seu método que retornará o caminho da imagem salva. Com esse caminho retornado no onsucess da chamada ajax vc altera o src da imagem.

    Algo assim:

    $.post( "suaurl", function(data) {
      $('#minhaImg').attr("src",data.src);
    })
      .fail(function() {
        alert( "error" );
      });


    Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985



    segunda-feira, 6 de julho de 2015 13:20
  • Estou gravando a imagem em c# 
    segunda-feira, 6 de julho de 2015 13:51
  • Sem usar javascript não é possível. Poste seu código para dar mais detalhes.

    Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985

    segunda-feira, 6 de julho de 2015 14:10
  • Sim andei pesquisando javas mas não fui feliz , Eu gravo na seguinte maneira .....

    if (upload.HasFile)
                {
                    contexto = new ModelDataContext();
                    Stream imagemsalva = upload.PostedFile.InputStream;
                    string filePath = upload.PostedFile.FileName;
                    string filename = Path.GetFileName(filePath);
                    string ext = Path.GetExtension(filename);
                    BinaryReader leitor = new BinaryReader(imagemsalva);
                    Byte[] bytesimagem = leitor.ReadBytes((Int32)imagemsalva.Length);
                    Usuario usuario = new Usuario();
                    usuario.fotoPerfil = leitor.ToString();
                    usuario.fotoPerfil = bytesimagem.ToString();
                    contexto.Usuarios.InsertOnSubmit(usuario);
                    contexto.SubmitChanges();
                }

    segunda-feira, 6 de julho de 2015 15:00
  • Tudo bem... Mas como vc chama esse código? É aspx? é MVC?

    Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985

    segunda-feira, 6 de julho de 2015 16:43
  • é aspx
    segunda-feira, 6 de julho de 2015 17:03
  • A forma fácil de usar isso no aspx é migrar o upload pra um webservice e fazer a chamada ajax. Segue uns links que ajudam.

    Upload file via web service: http://www.c-sharpcorner.com/UploadFile/scottlysle/UploadwithCSharpWS05032007121259PM/UploadwithCSharpWS.aspx

    Chamada ajax: http://forums.asp.net/t/1934215.aspx?Using+jQuery+ajax+to+call+asmx+webservice+methods


    Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985

    • Marcado como Resposta gnnrz4 terça-feira, 7 de julho de 2015 11:51
    segunda-feira, 6 de julho de 2015 17:16