JPEG Error #53. Ao ler imagem no banco (MySql Zeos)
Olá,
criei uma tabela no mysql 5.0, o campo da foto é MEDIUMBLOB, ja gravei a foto no campo, so que na hora de ler levanta uma exceção, segue:
Mensagem do erro: raises exception class EJPEG with message ´JOEG error 53´
Alguem tem idéia do que possa ser? ja fiz essa rotina com firebird e foi tranquilo.
abraço
criei uma tabela no mysql 5.0, o campo da foto é MEDIUMBLOB, ja gravei a foto no campo, so que na hora de ler levanta uma exceção, segue:
var jpg: TJPegImage; bs: TStream; begin [....] // uses joeg if not LQry.FieldByName(´foto´).IsNull then begin jpg := TJPegImage.Create; bs := LQry.CreateBlobStream(LQry.FieldByName(´foto´), bmRead); try try jpg.LoadFromStream(bs); // aqui levante o erro imgFoto.Picture.Assign(jpg); except imgFoto.Picture.Assign(nil); end; // try except finally bs.Free; jpg.Free; end; // try finally end; // if not [...]
Mensagem do erro: raises exception class EJPEG with message ´JOEG error 53´
Alguem tem idéia do que possa ser? ja fiz essa rotina com firebird e foi tranquilo.
abraço
Otto
Curtidas 0
Respostas
Diegus
02/05/2008
oTTo... dá uma olhada nesse código abaixo... não sei especificamente o que pode estar acontecendo no seu caso...
Outra coisa... a variavel bs que vc declarou .... no meu exemplo ele é do tipo TMemoryStream...
Qualquer coisa..... estamos por aqui...
Outra coisa... a variavel bs que vc declarou .... no meu exemplo ele é do tipo TMemoryStream...
if cds_MasterCROQUIS.BlobSize > 0 then begin imgStream := TMemoryStream.Create; imgJPEG := TJPEGImage.Create; imgBMP := TBitmap.Create; try try cds_MasterCROQUIS.SaveToStream(imgStream); imgStream.Position := 0; imgJPEG.LoadFromStream(imgStream); imgCroquis.Picture.Assign(imgJPEG); except cds_MasterCROQUIS.SaveToStream(imgStream); imgStream.Position := 0; imgBMP.LoadFromStream(imgStream); imgCroquis.Picture.Assign(imgBMP); end finally imgStream.Free; imgJPEG.Free; imgBMP.Free; end; end else begin imgCroquis.Picture.Assign(nil); end;
Qualquer coisa..... estamos por aqui...
GOSTEI 0
Otto
02/05/2008
olá Diegus, obg pela resposta.
meu dataset nao tem a opçao savefromstream.
mas, eu descobri o seguinte, a imagem, que era salva no banco, era do tipo bmp, mas, com tipo jpg, ai na hora de ler dava erro pq eram diferentes.
corrigi o método de salvar, transformei realmente pra jpg e na hora de ler ta dando certo. :lol:
abraço, bom final de semana
meu dataset nao tem a opçao savefromstream.
mas, eu descobri o seguinte, a imagem, que era salva no banco, era do tipo bmp, mas, com tipo jpg, ai na hora de ler dava erro pq eram diferentes.
corrigi o método de salvar, transformei realmente pra jpg e na hora de ler ta dando certo. :lol:
abraço, bom final de semana
GOSTEI 0