Gravação de imgem em MySql
Caros amigos,
Alguem poderia me dizer como devo fazer para conseguir gravar imagem do tipo JPEG no MySql?
Desde já agradeço.
Alguem poderia me dizer como devo fazer para conseguir gravar imagem do tipo JPEG no MySql?
Desde já agradeço.
Alex Maia
Curtidas 0
Respostas
Koplin
11/12/2003
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.
GOSTEI 0
Cgi_net
11/12/2003
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.
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.
GOSTEI 0
Alex Maia
11/12/2003
Como devo fazer para usar essa codificação?
Você tem algum exemplo?
Você tem algum exemplo?
GOSTEI 0
Koplin
11/12/2003
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.
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.
GOSTEI 0