Fórum MemoryStream loadfromfile não funciona #508192
22/01/2015
0
Prezados,
Estou tentando salvar várias imagens (JPG) em uma tabela com campos BLOB. Para carregar uma imagem eu faço o seguinte:
Entretanto, eu preciso carregar várias imagens de uma vez e é aí que estou com problema, modifiquei a função para a seguinte:
Porém, o loadfromfile do memorystream não está funcionando, pois quanto tento salvar o campo blob está vazio.
Alguma ideia de coo resolver isso?
Estou tentando salvar várias imagens (JPG) em uma tabela com campos BLOB. Para carregar uma imagem eu faço o seguinte:
if (OpenPictureDialog1.Execute) then
begin
tbPaginas.Insert;
ms := TMemoryStream.Create;
try
ms.LoadFromFile(OpenPictureDialog1.FileName);
ms.Position := 0;
TBlobField(tbPaginas.FieldByName('IMAGEM')).LoadFromStream(ms);
finally
ms.Free;
end;
tbPaginasCAPITULO.AsInteger := tbCapitulosCODIGO.AsInteger;
tbPaginasNUM_PAGINA.AsInteger := 1;
tbPaginas.Post;
end;
Entretanto, eu preciso carregar várias imagens de uma vez e é aí que estou com problema, modifiquei a função para a seguinte:
if (OpenPictureDialog1.Execute) then
begin
for i := 0 to OpenPictureDialog1.Files.Count-1 do
begin
tbPaginas.Insert;
ms := TMemoryStream.Create;
try
ms.LoadFromFile( TFileName(OpenPictureDialog1.Files[i]) );
ms.Position := 0;
TBlobField(tbPaginas.FieldByName('IMAGEM')).LoadFromStream(ms);
finally
FreeAndNil(ms);
end;
tbPaginasCAPITULO.AsInteger := tbCapitulosCODIGO.AsInteger;
tbPaginasNUM_PAGINA.AsInteger := 1;
tbPaginas.Post;
end;
end;
Porém, o loadfromfile do memorystream não está funcionando, pois quanto tento salvar o campo blob está vazio.
Alguma ideia de coo resolver isso?
Dannicléo Teles
Curtir tópico
+ 0
Responder
Posts
22/01/2015
Dannicléo Teles
Resolvi o problema, acontece que eu estava liberando o memorystream antes de salvar a imagem no banco.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)