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.
Question
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 to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.