Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

Hola:

Estoy haciendo un proyecto donde necesito descargar un fichero desde un sitio ftp y me recomendaron el IdFTP de la paleta Indy del Deplhi 7 que es el que estoy utilizando pero nunca he trabajado con ese componente. Vi que tiene entre otras propiedades el Host, username y password pero como logro pasarle el nombre del fichero que quiero y descargarlo en una direccion determinada.

Saludos
Luis
Responder Con Cita
  #2  
Antiguo 27-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola lgarcia.

Revisa este enlace: Descargando archivos por FTP con INDY

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 27-04-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
lgarcia,

Cita:
Empezado por lgarcia
...un proyecto donde necesito descargar un fichero desde un sitio ftp y me recomendaron el IdFTP de la paleta Indy del Deplhi 7...


Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 27-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

gracias ecfisa por la pronta respuestaestoy haciendo pruebas con el codigo y te comentare luego

Saludos
Luis
Responder Con Cita
  #5  
Antiguo 27-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

cuando compilo me esta dando el error en la instruccion: FTP.Get( ExtractFileName(sArchivo), sArchivo, False, False);

Project Actual.exe raised exception class EidProtocolReplayError with Message 'PORT/EPRT (active mode/extended active mode) is not supported use PASV/EPSV instead of this.

Saludos
Luis
Responder Con Cita
  #6  
Antiguo 27-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

La sentencia FTP.ChangeDir(''); se refiere al directorio donde esta el archivo en el FTP?

Saludos
Luis
Responder Con Cita
  #7  
Antiguo 28-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola lgarcia.
Cita:
Empezado por lgarcia Ver Mensaje
cuando compilo me esta dando el error en la instruccion: FTP.Get( ExtractFileName(sArchivo), sArchivo, False, False);

Project Actual.exe raised exception class EidProtocolReplayError with Message 'PORT/EPRT (active mode/extended active mode) is not supported use PASV/EPSV instead of this.
¿ Podrías copiar y pegar aquí el código que estás empleando ?

Cita:
Empezado por lgarcia Ver Mensaje
La sentencia FTP.ChangeDir(''); se refiere al directorio donde esta el archivo en el FTP?
Si, el método ChangeDir cambia el directorio en el servidor FTP.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 28-04-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En el club, si utilizas la búsqueda, puedes encontrar varios ejemplos de cómo realizar esto.
Sin ir más lejos, aquí tienes uno de Nelson donde se pueden ver las operaciones más básicas a realizar en un FTP con el componente idFTP.

Aunque si buscas un poco encontrará más...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 28-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

El codigo que estoy usando es este:
Código Delphi [-]
procedure TFormMain.FTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  Barra.Position := AWorkCount div 1024;
end;

procedure DescargarArchivo(sArchivo: String);
var
  FTP: TIdFTP;
  cad: string;
begin
  FTP := TIdFTP.Create(nil);
  FTP.OnWork := FormMain.FTPWork;
  FTP.Username := 'admin';
  FTP.Password := '123';
  FTP.Host := 'www.apocalipsi.com';

  try
    FTP.Connect;
  except
    raise Exception.Create( 'No se ha podido conectar con el servidor ' + FTP.Host);
  end;

  FTP.ChangeDir('/Update/');

  FormMain.Barra.Max := FTP.Size(ExtractFileName(sArchivo)) div 1024;

  if FileExists(sArchivo) then DeleteFile(sArchivo);

  cad:= sArchivo;

  FTP.Get(ExtractFileName(sArchivo), sArchivo, False, False);

  FTP.Disconnect;
  FTP.Free;
end;

procedure TFormMain.FormActivate(Sender: TObject);
begin
  DescargarArchivo('Programa.exe');
  Close;
  WinExec(PChar('Programa.exe'),SW_SHOWNORMAL);
end;

end.

Saludos
Luis
Responder Con Cita
  #10  
Antiguo 28-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola lgarcia.

Acabo de probar el código que adjuntaste y si bién no me permite conectar con el servidor, no lanza la excepción que mencionas en el mensaje #5. ¿ Sigue mostrándote ese mensaje o ya está solucionado ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 28-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

socio, sigue tirandome el mensaje.

Saludos
Luis
Responder Con Cita
  #12  
Antiguo 28-04-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Prueba a realizar la transferencia en modo pasivo.

Código Delphi [-]
  ...
  FTP.Passive := True;
  ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 28-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

No se que decirte por que no he recibido nunca ese error que aparenta ser de protocolo.

Como dato adicional, con tus valores y quitando el try/except obtengo el error: Socket error #10060 Connection timed out, que normalmente es debido a que el cliente no recibe respuesta del servidor.

Olvidé mencionarte que también puedes poner el componente en tiempo de diseño y los valores de sus propiedades desde el Object Inspector, ahorrándote el código de inicialización.

Y por último me queda sugerirte que intentes de este modo:
Código Delphi [-]
uses Urlmon;

procedure DownloadFile(const url, target: string);
begin
  URLDownloadToFile(nil, PChar(url), PChar(target), 0, nil);
end;

Ejemplo de uso:
Código Delphi [-]
...
begin
   DownloadFile('ftp://ftp.freenet.de/pub/filepilot/ss_sa', 'c:\tmp\ss_sa');
...

Saludos

Edito: No había visto el mensaje de Neftali pero seguramente ajustando esa propiedad desaparezca la excepción.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-04-2015 a las 15:08:16.
Responder Con Cita
  #14  
Antiguo 28-04-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
descargar desde ftp

Con la recomendacion de Neftali de FTP.Passive := True; se resolvio el problema. Parece que era un problema de protocolo.

Muchas gracias por su colaboracion y el tiempo empleado.

Saludos
Luis
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como descargar archivos desde la red con php uper PHP 4 30-03-2011 00:29:34
problema al descargar un arhivo desde un ftp kurono Varios 4 22-11-2009 18:02:04
Descargar imagenes desde una URL jamlaboira Internet 5 16-06-2008 13:33:22
Descargar fichero 25 Mb desde internet fmatias Internet 4 06-07-2007 17:43:59
descargar archivo desde php gulder PHP 2 07-06-2007 08:28:26


La franja horaria es GMT +2. Ahora son las 02:08:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi