Fórum Recuperar imagem Mysql em TImage (Delphi Seatlle) #600741

24/02/2019

0

Uso delphi Seatlle
Nesta rotina salvo a foto no Mysql (campo LongBlob) que esta no componente TImage(Image_Foto)

procedure TFormAluno.btn_EnviarClick(Sender: TObject);
var stream: TStream;
begin
dm_DataModule.tab_Alunofoto.insert;
stream := TMemoryStream.Create;
stream.WriteComponent(Image_Foto);
dm_DataModule.Tab_Alunofoto.LoadFromStream(stream);
dm_DataModule.Tab_Alunofoto.post;
end

Como recupero do Mysql pra exibi-lo em um TImage ?
Álvaro Luiz

Álvaro Luiz

Responder

Posts

24/02/2019

Hélio Devmedia

olá Alvaro, tudo bem?

Você fez um código muito bom e para recuperar é somente fazer o inverso. O Field do tipo blob tem um metodo chamado saveToStream(<stream aqui>) enquanto o objeto TImage tem um método chamado loadFromStream(<stream aqui>);

Seria algo aproximadamente assim:

var
  s: TStream;
begin
  s:=TMemoryStream.Create;

  dm_DataModule.Tab_Alunofoto.SaveToStream(s);
  Image_Foto.Picture.LoadFromFile(s);
end;


Espero ter ajudado. Um forte abraço e fique com Deus.
Responder

Gostei + 0

24/02/2019

Álvaro Luiz

Olá Amigo obrigado pela ajuda!
está dando o seguinte erro nessa linha

Image_Foto.Picture.LoadFromFile(s);

----- ERRO-------
[dcc32 Error] U_Principal.pas(47): E2010 Incompatible types: 'string' and 'TStream'


Tem alguma ideia? uso Delphi Seattle, Mysql e o componente de acesso MyDac
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar