Bom é o seguinte a 3 dias estou desenvolvendo um projeto em trabalho relacionado a webcans, em Windows Forms, Framework 3.5, Visual Studio 2010.
já a base de dados é Oracle, com PL/Sql.
O que acontece é o seguinte, eu tiro uma foto do visitante e Converto essa imagem em Byte[] e salvo no Oracle em uma tabela que tem um campo já configurado como BLOB para armazenar grandes quantidades de dados, bom isso esta OK pois estou salvando corretamente a imagem imagem e pela ferramenta PL/Sql eu ate consigo ver a Fotinho do miliante la.
O Problema é que quando eu dou um Select nesta tabela e pego as informaçoes para exibir em um Form esta dando problema para Converter os Bynarios (byte[]) em Imagem do tipo (Image) para exibir em uma PictureBox, a verdade é que procurei em todos os Foruns e teste tambem varios exemplos e não cheguei a uma resposta convincente nem a solução deste problema.
o erro é "Parametro Invalido";
meu codigo é esse:
public static Image ConverteByteArrayEmImagem(byte[] _BytesDaImagem)
{
Image _ImagemDoArray;
using (MemoryStream _Memoria = new MemoryStream(_BytesDaImagem, 0, _BytesDaImagem.Length))
{
_Memoria.Write(_BytesDaImagem, 0, _BytesDaImagem.Length);
_ImagemDoArray = Image.FromStream(_Memoria, true,true);
}
return (_ImagemDoArray);
}
Depois disso mudei algumas coisas mas da o mesmo erro, estou usando 'ImageConverter' :
ImageConverter ConversorDeImagem = new ImageConverter();
Image ImagemGerada = (Image)ConversorDeImagem.ConvertFrom(objVisitante.BinarioDoArquivoDeImagem);
Não sei onde pode ser, a unica certesaque tenho é que a os Bynarios da Imagem esta la certinho na tabela pois quando exibo pelo PL/Sql ele mostra a imagem para mim direto dos Bytes.
Minhas suspeitas era de não tivem todos os Bytes na tabela por algum motivo mas não é.
Outra Suspeita é na hora de dar o Select na tabela ele por algum motivo retornar itens do byte[] errados ou faltando alguma coisa em fim.
fora isso não sei mais o que pode ser.
Se algum já passou por isso ou quiser dar uma dica do que fazer estou a ouvidos....
: )...
meu MSN é rodrigo_arf@hotmail.com
Sou Desenvolvedor de Sistemas .NET com 4 anos de experiencia, quem quiser me adicionar.
Pergunta
rodrigo_arf
Bom Dia Pessoal,
Bom é o seguinte a 3 dias estou desenvolvendo um projeto em trabalho relacionado a webcans, em Windows Forms, Framework 3.5, Visual Studio 2010.
já a base de dados é Oracle, com PL/Sql.
O que acontece é o seguinte, eu tiro uma foto do visitante e Converto essa imagem em Byte[] e salvo no Oracle em uma tabela que tem um campo já configurado como BLOB para armazenar grandes quantidades de dados, bom isso esta OK pois estou salvando corretamente a imagem imagem e pela ferramenta PL/Sql eu ate consigo ver a Fotinho do miliante la.
O Problema é que quando eu dou um Select nesta tabela e pego as informaçoes para exibir em um Form esta dando problema para Converter os Bynarios (byte[]) em Imagem do tipo (Image) para exibir em uma PictureBox, a verdade é que procurei em todos os Foruns e teste tambem varios exemplos e não cheguei a uma resposta convincente nem a solução deste problema.
o erro é "Parametro Invalido";
meu codigo é esse:
a linha que da o erro é essa : Depois disso mudei algumas coisas mas da o mesmo erro, estou usando 'ImageConverter' :Não sei onde pode ser, a unica certesaque tenho é que a os Bynarios da Imagem esta la certinho na tabela pois quando exibo pelo PL/Sql ele mostra a imagem para mim direto dos Bytes.
Minhas suspeitas era de não tivem todos os Bytes na tabela por algum motivo mas não é.
Outra Suspeita é na hora de dar o Select na tabela ele por algum motivo retornar itens do byte[] errados ou faltando alguma coisa em fim.
fora isso não sei mais o que pode ser.
Se algum já passou por isso ou quiser dar uma dica do que fazer estou a ouvidos....
: )...
meu MSN é rodrigo_arf@hotmail.com
Sou Desenvolvedor de Sistemas .NET com 4 anos de experiencia, quem quiser me adicionar.
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.