[firebase-br] Campo Blob

Samir Oliveira Costa sysleilao em gmail.com
Qua Out 4 10:13:42 -03 2017


Achei a solução sem necessidade de descobrir a extensão.
Muito Obrigado pessoal.

A solução se caso alguem tiver a mesma duvida no futuro :

procedure TDataModule1.ExibeFoto(DataSet : TDataSet; BlobFieldName :
String; ImageExibicao : TImage);
var
BlobStream : TStream;
Bitmap:TBitMap;
ArquivoStream : TMemoryStream;
begin
    BlobStream :=
DataSet.CreateBlobStream(DataSet.FieldByname(BlobFieldName), bmRead);
    try
      if BlobStream.Size <> 0 then begin
        try
            ArquivoStream := TMemoryStream.Create;

TBlobField(DataSet.FieldByName(BlobFieldName)).SaveToStream(ArquivoStream);
            ArquivoStream.Position := 0;
            ImageExibicao.Picture.Graphic.LoadFromStream(ArquivoStream);
         finally
          ArquivoStream.Free;
        end;
      end else begin
          //Imagem em Branco
          Bitmap := TBitMap.Create;
          Try
            Bitmap.Width := 1;
            Bitmap.Height := 1;
            ImageExibicao.Picture.Assign(BitMap);
            ImageExibicao.Center:=false;
          finally
            Bitmap.Free;
          end;
      end;
    finally
      BlobStream.Free;
    end;
end;


Em 4 de outubro de 2017 10:00, Samir Oliveira Costa <sysleilao em gmail.com>
escreveu:

> O banco é ja usado desta forma a muitos anos, as imagens são pequenas,
> porem sempre foram gravadas desta forma em BMP e JPG.
> Pensei que poderia ter uma forma de recuperar e antes de jogar em um
> Timage saber a extensão correta do Blob.
> Eu entendo essa solução mas seria para um banco novo. Este aqui é antigo.
> Obrigado de toda forma.
>
> Em 4 de outubro de 2017 09:56, Everton Patricio Pereira <
> evertonkiai em gmail.com> escreveu:
>
>> Olá Samir!
>>
>> Na verdade, a abordagem que mais vejo por aí é, ao invés de colocar a
>> imagem no BD, colocá-la no sistema de arquivos. Sendo assim, no BD
>> coloca-se apenas o caminho da imagem. Assim vc fica inclusive com BD menor
>> e ainda possibilita vc resolver o seu problema citado.
>>
>> Valeu!
>>
>> Em 4 de outubro de 2017 09:28, Samir Oliveira Costa <sysleilao em gmail.com>
>> escreveu:
>>
>> > Pessoal, preciso de uma ajuda.
>> >
>> > Em um campo Blob (Binary) eu gravo arquivos BMP e JPG.
>> >
>> > Minha duvida é como recupera no Delphi e descobrir se o arquivo é BMP ou
>> > JPG?
>> > Para poder exibir de forma correta em um Timage.
>> >
>> > Alguem ja pasou por isso?
>> >
>> > Obrigado.
>> >
>> > --
>> > Qualquer dúvida entrar em contato.
>> >
>> > Samir Costa
>> > Programador Pleno
>> > Técnico em Informática
>> > Bacharel em Sistemas de Informação
>> > (34) 3322-7995 - (34) 9148-5670 - TIM - WhatsApp
>> > Uberaba - MG
>> > msn: sysleilao em gmail.com
>> > site: www.sysleilao.com.br
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas: http://www.firebase.com.br/
>> > pesquisa_lista.html
>> >
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://www.firebase.com.br/pes
>> quisa_lista.html
>>
>
>
>
> --
> Qualquer dúvida entrar em contato.
>
> Samir Costa
> Programador Pleno
> Técnico em Informática
> Bacharel em Sistemas de Informação
> (34) 3322-7995 - (34) 9148-5670 - TIM - WhatsApp
> Uberaba - MG
> msn: sysleilao em gmail.com
> site: www.sysleilao.com.br
>



-- 
Qualquer dúvida entrar em contato.

Samir Costa
Programador Pleno
Técnico em Informática
Bacharel em Sistemas de Informação
(34) 3322-7995 - (34) 9148-5670 - TIM - WhatsApp
Uberaba - MG
msn: sysleilao em gmail.com
site: www.sysleilao.com.br



Mais detalhes sobre a lista de discussão lista