none
UPLOAD E CARREGAMENTO DE IMAGEM RRS feed

  • Pergunta

  • Olá, pessoal.

    Estou iniciando no mundo da programação agora, e estou fazendo um sistema para registrar funcionários, porém gostaria que aparecesse a foto de cada um em uma picture box, para identificação .

    Pensei em fazer um botão que fizesse o upload na hora do cadastro, e assim quando exibisse posteriormente o funcionário cadastrado, essa foto que foi salva no upload fosse exibida juntamente com os outros dados.

    Como posso fazer isso ? alguem poderia me ajudar ?


    quarta-feira, 3 de maio de 2017 20:35

Respostas

  • Olá,

    Coloque um componente de FileUpload, ele permitira subir  a image.
    Após isso primeira decisão é se você vai salvar sua imagem em banco de dados, ou se vai gravar apenas o Path da imagem no banco de dados.Transitar imagens no banco de dados constuma ser evitado a fins de performance(se seu sistema for pequeno ou pra fins de estudo,esse observação não é tão relevante).Se for salvar o Path,você precisa ter a imagem em algum local fisico, seja na maquina do User ou em um Servidor.

    Após decidir isso, crie o campo no bd(varchar pra guardar o path, binary se for gravar a imagem).

    Se for gravar o Path,apenas grave a imagem que você recuperou fisicamente.Ex:

     FileUpload1.SaveAs(Server.MapPath("~/AppFolderName/" + FileName));

    Se for gravar a imagem, serialize ela e insira no bd,ex::

      using (var command = connection.CreateCommand ())
            {
                Image img = Image.FromFile (path);
                MemoryStream tmpStream = new MemoryStream();
                img.Save (tmpStream, ImageFormat.Png); // change to other format
                tmpStream.Seek (0, SeekOrigin.Begin);
                byte[] imgBytes = new byte[MAX_IMG_SIZE];
                tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE);
    
                command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
                IDataParameter par = command.CreateParameter();
                par.ParameterName = "payload";
                par.DbType = DbType.Binary;
                par.Value = imgBytes;
                command.Parameters.Add(par);
                command.ExecuteNonQuery ();
            }

    Certo?


    Se a resposta for relevante,click em "útil".Se a resposta resolveu seu problema, click em "Marcar como Resposta".
    Rodrigo Suleiman [MCP,MCTS,MCPD,MCSA,MCSD]

    quinta-feira, 4 de maio de 2017 10:37

Todas as Respostas

  • Olá,

    Coloque um componente de FileUpload, ele permitira subir  a image.
    Após isso primeira decisão é se você vai salvar sua imagem em banco de dados, ou se vai gravar apenas o Path da imagem no banco de dados.Transitar imagens no banco de dados constuma ser evitado a fins de performance(se seu sistema for pequeno ou pra fins de estudo,esse observação não é tão relevante).Se for salvar o Path,você precisa ter a imagem em algum local fisico, seja na maquina do User ou em um Servidor.

    Após decidir isso, crie o campo no bd(varchar pra guardar o path, binary se for gravar a imagem).

    Se for gravar o Path,apenas grave a imagem que você recuperou fisicamente.Ex:

     FileUpload1.SaveAs(Server.MapPath("~/AppFolderName/" + FileName));

    Se for gravar a imagem, serialize ela e insira no bd,ex::

      using (var command = connection.CreateCommand ())
            {
                Image img = Image.FromFile (path);
                MemoryStream tmpStream = new MemoryStream();
                img.Save (tmpStream, ImageFormat.Png); // change to other format
                tmpStream.Seek (0, SeekOrigin.Begin);
                byte[] imgBytes = new byte[MAX_IMG_SIZE];
                tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE);
    
                command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
                IDataParameter par = command.CreateParameter();
                par.ParameterName = "payload";
                par.DbType = DbType.Binary;
                par.Value = imgBytes;
                command.Parameters.Add(par);
                command.ExecuteNonQuery ();
            }

    Certo?


    Se a resposta for relevante,click em "útil".Se a resposta resolveu seu problema, click em "Marcar como Resposta".
    Rodrigo Suleiman [MCP,MCTS,MCPD,MCSA,MCSD]

    quinta-feira, 4 de maio de 2017 10:37
  • Bom dia

    Por falta de retorno esta thread esta encerrada.

    Caso necessario, por gentileza abra uma nova thread.

    Atenciosamente,


    Guilherme Macedo S

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 8 de maio de 2017 15:37
    Moderador