Gravação de imgem em MySql

11/12/2003

1

Caros amigos,
Alguem poderia me dizer como devo fazer para conseguir gravar imagem do tipo JPEG no MySql?
Desde já agradeço.


Responder

Posts

12/12/2003

Koplin

O My provê o tipo BLOB que armazena imagens. Mas a recomendação é que se grave a imagem em disco (arquivo .jpg, no seu caso) e grava na tabela o caminho para este arquivo. E abri-lo via código mesmo. Isso evita que o banco fique muito cheio, pois BLOBS costumam ficar muito grandes. Na verdade nunca armazenei jpg em my, mas sei que ele suporta, neste tipo de dado. Sempre que precisei fiz como descrevi. Voce fica com uma simples string ao invés de um grande campo BLOB.


Responder

15/12/2003

Cgi_net

Antes de salvar no banco você deve codificar pra conseguir executar o SQL...

Vc pode utilzar o tipo de codificação utilizado pra codificar email...´MIME base64´. Mas você pode utilizar várias outras codificações... Esta é apenas uma que utilizava.

Depois disso é salvar e ler quando vc precisar (claro decodificando´);

Vc deve utilizar um todos tipos blob.. Dependendo do tamanho da imagem

Eu sugiro vc criar uma tabela seca pra ele, com as referencias e codigo, alem do campo blob claro.
Lembre-se que salvando no banco, vc vai perder desempenho... Eu só utilizaria isto se fosse utilizar transferencias de dados com frequência.. Caso contrário salvaria as imagens em pastas.


Responder

16/12/2003

Alex Maia

Como devo fazer para usar essa codificação?
Você tem algum exemplo?


Responder

16/12/2003

Koplin

Depende da forma que vc trabalhará.
Vamos ver uma situaçao:

Imagine um tabela qualquer com um campo do tipo string, contendo

c:\pasta\imagens\dente1.jpg

e que vc queira visualizar esta imagem em um TImage:

Selecione o registro:
em um botão (ou outro controle) faça:

Image1.Picture.LoadFromFile(Table1Caminho.value);
Caminho seria o nome da coluna em que armazeno a string com os paths

Aí, vc me perguntaria se não tem jeito de ir trocando de registro e mostrando a imagem no TImage? Tem, use o evento OnScrool do TDataset (TTable ou TQuery) - Mas, experimente porque pode tornar a navegação lenta (sem necessidade). Melhor o usuario escolher o registro e depois apertar um botão para ver a imagem. Isso depende do uso e esse é só um exemplo.


Responder