JPEG Error #53. Ao ler imagem no banco (MySql Zeos)

Delphi

02/05/2008

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:

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

Otto

Curtidas 0

Respostas

Diegus

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...

 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

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


GOSTEI 0
POSTAR