[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