[firebase-br] Salvar imagem [OFF]

Henrique Netzka (Vetor Sistemas) henrique em vetorsistemas.com.br
Qua Out 4 11:15:27 -03 2006


Rodrigo,

Na realidade, esse erro é do seu sistema e não do Firebird! Os componentes 
DB do Delphi, por padrão, não suportam imagens de outro tipo que não BMP. 
Você pode desenvolver, porém, um componente que o faça, ou mesmo interceptar 
o fetch do componente ao datafield e retornar, ao invés da imagem gravada no 
banco, uma imagem BMP. O menos complicado acho que é gravar apenas imagens 
BMP (convertê-las antes de salvá-las para o banco), mas também é o que mais 
infla seu banco (um BMP é gigante em relação a um JPG ou PNG)...

Se você precisar trabalhar com mais de um tipo de imagem no mesmo campo do 
banco (gravar JPGs e BMPs na mesma coluna), você deverá interpretar o 
cabeçalho da imagem para saber qual seu tipo, ou gravar um segundo campo (do 
tipo char, por exemplo) contendo o tipo da imagem (jpg, gif, bmp, png, etc). 
São idéias...

Creio que na internet você encontre bastante material sobre como exibir 
imagens não-bmp gravadas no banco em componentes db-aware do Delphi!

Abraço,
Henrique

----- Original Message ----- 
From: "Galvao" <galvao.rodrigo em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, October 04, 2006 10:55 AM
Subject: [firebase-br] Salvar imagem


Pessoal estou tendo problemas para salvar imagens no Firebird, já tentei
várias funções que encontrei na net mas na hora de gravar me dá o
seguinte erro:
'Bitmap Image is not valid'
rodando pelo delphi após dar o erro abre o arquivo MDOCustomDataSet na
linha 4130 que tem o código abaixo:
  TMDOCustomDataSet(FField.DataSet).DataEvent(deFieldChange,
Longint(FField));

Lembro que o erro só acontece quando tento salvar um tipo Jpg ou Jpeg,
quando salvo BMP ele salva normal.
Uso FB 2.0 RC4 com Delphi 7 e MDO-RC2

Lembro também que preciso salvar a imagem no banco, são poucas imagens
que não irão influenciar no desempenho do mesmo.

Att

Rodrigo

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista