Ver Mensaje Individual
  #1  
Antiguo 06-08-2022
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Reputación: 14
novato_erick Va por buen camino
Convertir de un fichero a Stream una imagen

Hola chicos:

Tengo una aplicación utilizando DataSnap la cual aún manejo el componente DBExpress aun no he pasado a FireDac pero la aplicación corre de maravillas la cual desde dispositivos Android realizo consulta y efectuó actualización por cierto es del 2015 ahora revisando noté que algunos clientes ah almacenado imagenes en formato png o jpeg a los artículos pero en la db no se guarda la imagen en formato blob pero mientras que la aplicación se guarda en una ruta en el servidor en su respectiva carpeta de imágenes ejemplo

CAMPO TIPO
ID_ART INTEGER
NOMBRE VARCHAR(100)
IMAGEN VARCHAR(150)

VALOR
C:\MI PROGRAMA\IMAGENES\FOTO1.PNG

Encontré este link interesante: https://delphibasico.com/2013/03/25/...magen-parte-2/ la cual es lo que considero que funcionaría sin embargo mi primera limitación es que cree esta función para tratar de convertir dicha ruta y salvar en un Stream

ejemplo:

Código Delphi [-]
function TServerMethods1.GetImagenBannerAsStream(ASQLQuery: TSQLQuery;
  AIDBanner: Integer): TStream;
var
 stream: TMemoryStream;
 MiImagenDB: TImage;
begin
  if (ASQLQuery.Active) then ASQLQuery.Close();
  with ASQLQuery do
  begin
    ParamByName('id_articulo').AsInteger := AIDBanner;
    Open;
  end;
  //
  stream := TMemoryStream.Create;
  MiImagenDB := TImage.Create(MiImagenDB);
  try
    MiImagenDB.Picture.LoadFromFile(qArtImagenIMAGEN.AsString);
    MiImagenDB.Update;
    MiImagenDB.Picture.SaveToStream(stream);

  finally
    MiImagenDB.Free;
    Result := stream;
    stream.Free;
  end;
  ASQLQuery.Close;
end;

lo que hice es correcto es posible?

Saludos

novato_erick
Responder Con Cita