Ver Mensaje Individual
  #1  
Antiguo 14-03-2025
ralf1987 ralf1987 is offline
Registrado
 
Registrado: mar 2025
Posts: 2
Reputación: 0
ralf1987 Va por buen camino
Thumbs up

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
He visto que usas FTP.
Revisa el tipo de transferencia FTP que estás utilizando. Si no estás utilizando transferencia "binaria" puedes ser que el fichero se altere.

Gracias por la información.


de alguna manera es cierto, pero lo tengo configurado como binario.


Pero la foto por mas que le indique que fuera jpg, lo guardo con formato png, por lo tanto al intentar cargar un jpg en el timage se generaba el error por la codificación del archivo.
Al final se resolvió con un código de esta persona [Chris] no puedo poner url
club delphi com foros showthread t=80857 esta es la dirección del código que utilice excelente solución.
Código Delphi [-]
  
 Function gclas(Source:TStream):TGraphicClass; 
 var
 FStreamHeader : TStringStream;
  StartPosition : Int64; 
 CONST PNGFILE_HEADER = '‰PNG';  
BMPFILE_HEADER = 'BM';  
JPGFILE_HEADER = 'ÿØÿà'; 
 Begin 
 try  
 StartPosition := Source.Position; 
 IF Source.Size > 0 Then
  Source.Position := 0 
 else 
 // Stream vacío  
Raise Exception.Create('El stream no tiene datos'); 
 FStreamHeader := TStringStream.Create('');
  with FStreamHeader do    
 begin 
        CopyFrom(Source,512);  // Copiamos el header del Stream  
if pos(PNGFILE_HEADER,DataString) > 0     Then     
  Result := TPNGObject 
 else 
 if pos(BMPFILE_HEADER,DataString) > 0 Then  
     Result := TBitmap 
 else 
 if pos(JPGFILE_HEADER,DataString) > 0 Then      
 Result := TJPEGImage  
else  
Result := TGraphic; // no quiero producir una excepción a este nivel 
 end; 
 finally  
Source.Position := StartPosition;
  end; 
  end;
 procedure TFOTOVEHICULOS.verfotosClick (sender)
  var  ms: TmemoryStream;
  httpCli: TIdHTTP;  
url: string;
  I,ATOP: Integer;
  imgPath: string;
  image1: TImage;
  BTE:TButton; 
 begin 
 atop:=0; 
 //consulta sql lista fotos  
while not listafotos.Eof do  
begin 
 httpCli := TIdHTTP.Create(nil);
  ms := TMemoryStream.Create(); 
 url := 'direccion'+ nombrefoto +'.jpg';  
httpCli.Get(url,ms);
  ms.Position := 0; 
 gclas(ms);  
Application.ProcessMessages;  
Image1 := TImage.Create(self);
  Image1.Height := 250; 
 Image1.Width := 250; 
 Image1.Top := atop; 
 BTE:=TButton.Create(NIL); 
 BTE.Top:=ATOP+255;
  BTE.Height:=25;  
BTE.Width:=83; 
 BTE.Parent:=ScrollBox1; 
 BTE.Name:='bt_'+NOMBREFOTO; 
 BTE.OnClick:=ELIMINARI; 
 Inc(atop,280);
  Image1.Left := 0;
  image1.Parent:=ScrollBox1 ;
  image1.Name:='IM_'+NOMBREFOTO);
  image1.Stretch:=True; 
 image1.OnDblClick:=ABRIRIMAGEN; 
 image1.Picture.LoadFromStream(ms); 
 ms.free; 
 httpCli.free; 
 listafotos.Next; 
 end 
 end;

Última edición por Casimiro Notevi fecha: 15-03-2025 a las 09:29:25. Razón: error en etiqueta
Responder Con Cita