Fórum gravar jpg banco fb 1.5 #369833

16/04/2009

0

boa tarde a todos, estou tentando gravaruma imagem jpg no banco e depois exibi-la... sei q o correto é gravar o caminho, mais nesse caso preciso realente gravr a img. segue o q estou fazendo:


var
ImgStr : TMemoryStream;
begin
AcquireJpg(Jpg, 10);
ImgStr := TMemoryStream.Create;
JPG.SaveToStream(ImgStr);

with cdsIMG do
begin
Active := false;
ImgStr.Position := 0;
Params.ParamByName(´vdescricao´).AsString := Edit1.Text;
Params.ParamByName(´vDigitalizacao´).LoadFromStream (ImgStr ,ftTypedBinary);
Execute;
end;

PS.
cdsIMG.commandtext := ´insert into documentos(descricao, foto) values( :vdescricao, :vdigitalizacao);
os parametros no cds
vDescricao é ftString
vDigitalizacao é ftTypedBinary ´ja tentei com ftOraBlob, ftGraphic´
o codigo asima ´grava´ mais no ibexpert não consigo v a imagem, aparece em branco, sendo q tem algo gravado no campo, mais não sei se tá da forma correta...

na aplicação esto carregando assim:
try
ImgStr := TMemoryStream.Create;
Jpg := TJpegImage.Create;
(cdsIMG.FieldByName(´documento´) as
TBlobField).SaveToStream(ImgStr);
ImgStr.Position := 0;
Jpg.LoadFromStream(ImgStr);
Image1.Picture.Assign(Jpg);
finally
Jpg.Free;
ImgStr.Free;
end;
da um erro
stream read error

Grato.


Camilo

Camilo

Responder

Posts

17/04/2009

L_carlos

Eu gravo JPEG em um campo BLOB no firebird do seguinte modo:

Em USES coloco JPEG

Depois

var
b:TMemoryStream;


Para gravar no campo BLOB:

if (imgFOTO.Picture.Graphic <> nil) then
begin
b:=TMemoryStream.Create;
imgFOTO.Picture.Graphic.SaveToStream(b);
ParamByName(´des_FOTO´).LoadFromStream(b,ftBlob);
b.Destroy ;
end;

Onde ImgFOTO é um TIMAGE.

Luiz


Responder

Gostei + 0

17/04/2009

Camilo

olá meu cro L_CARLOS, deu certo, é q como eu estou uando n-tier com BSS e RemoteDataModule, estava colocando os parametros no CDS e não no sqlDataSet, quando eu coloquei todos os componentes no cliente e fiz um teste local, funcionou blzzz, mais o caso agora é, como mandar o conteúdo da var TMemoryStream do client pro servidor, sendo q lá eu coloque como parametro?? estou tentando de varios tipos o tipo da var na type libary, mais não funciona...
agradeço a atenção.


Responder

Gostei + 0

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

Aceitar