Usuário com melhor resposta
UPLOAD E CARREGAMENTO DE IMAGEM

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 ?
- Editado Gabriel Swich 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]- Marcado como Resposta Guilherme Macedo SModerator segunda-feira, 8 de maio de 2017 15: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]- Marcado como Resposta Guilherme Macedo SModerator segunda-feira, 8 de maio de 2017 15: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.