Bajar ficheros desde una conexión FTP.

Bajar ficheros desde una conexión FTP.

Postby FiveWiDi » Sat Feb 24, 2018 10:48 pm

Hola a todos,

¿Alguién tiene una rutina para bajarse ficheros desde una conexión FTP?

Gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1060
Joined: Mon Oct 10, 2005 2:38 pm

Re: Bajar ficheros desde una conexión FTP.

Postby Joel Andujo » Tue Feb 27, 2018 3:56 pm

// BDía, esto funciona para mi, en servidores FTP, con SFTP es otra historia.

*--// Conexión con SFTP
oInternet:=TInternet():New()
oFTP :=TFTP():New('www.miftp.com.mx', oInternet, cUser:='Joel', cPassword:='123456', lFTPPAsivo:=.f., nPuerto:=21)
if empty(oFTP:hFTP)
oInternet:End()
retu .f.
endi

cFileOrigen:='c:\respaldo\Archivo.txt'
hSource :=FOpen(cFileOrigen)
cFileFTP:='httpdocs/Clientes/Archivo.txt'

oFile :=TFtpFile():New(cFileFTP, oFTP)
oFile:OpenWrite()
FSeek(hSource, 0, 0)
nBufSize:=2000000
cBuffer :=space(nBufSize)

do while ( nBytes:=FRead( hSource, @cBuffer, nBufSize ) ) > 0
oFile:Write( SubStr( cBuffer, 1, nBytes ) )
endd
FClose( hSource )
oFile:End()
User avatar
Joel Andujo
 
Posts: 130
Joined: Fri Oct 07, 2005 3:14 pm
Location: Cd. Obregón, Sonora, México

Re: Bajar ficheros desde una conexión FTP.

Postby FiveWiDi » Tue Feb 27, 2018 4:37 pm

Muchas gracias Joel,

Ahora estoy acabando de modificar según me conviene la rutina de Biel Maimo (gracias Biel), finalmente substituyendo funciones que no me compilaban he obtenido algo que parece funcionar; además el copiado es como el código que has mostrado.

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1060
Joined: Mon Oct 10, 2005 2:38 pm

Re: Bajar ficheros desde una conexión FTP.

Postby Dioni » Wed Feb 28, 2018 7:16 pm

Hola Joel Buen dia....

Es muy pactico tu funcion de subir a ftp gracias por tu contribucion..

podrias poner la funcion de bajar de ftp...

Gracias....
Dioni
 
Posts: 36
Joined: Tue May 12, 2009 8:45 pm
Location: Lima - Perú

Re: Bajar ficheros desde una conexión FTP.

Postby Joel Andujo » Fri Mar 02, 2018 4:11 pm

Claro que si, espero te ayude.

Code: Select all  Expand view

// Conexión con SFTP
 oInternet:=TInternet():New()
 oFTP     :=TFTP():New(cCtaFTP, oInternet, cUsuFTP, cPassFTP, op:lPavFTP, op:nPuertoFTP)
 if empty(oFTP:hFTP)
    mensaje('Imposible Conectarse al Servidor FTP...')
    oInternet:End()
    retu .f.
 endi

 cCarpDes:='c:\descargas'
 cCarpOri:='Archivos\XML'

 *--// Lee los archivos de una determinada carpeta del FTP
 aFiles:=oFTP:Directory(cCarpOri+'\*.*')
 if len(aFiles)=0
    retu.f.
 endi

 *--// Carpeta Default donde están los XML (sólo para bajar)
 FtpSetCurrentDirectory(oFTP:hFTP,  cCarpOri )
 for nArc:=1 to len(aFiles)
     cFileFte:=alltrim(aFiles[nArc,1])
     msgwait('Bajando archivo '+cFileFte, 'Espere por favor...', 1)

     nBufSize:=4096
     cBufSize:=space(nBufSize)
     hTarget :=FCreate(cCarpDes+cFileFte)
     oFile   :=TFtpFile():New(cFileFte, oFTP)
     oFile:OpenRead()
     do whil (nBytes:=len(cBuffer:=oFile:Read(nBufSize)))>0
        FWrite(hTarget, cBuffer, nBytes)
        lEnvio:=.t.
     endd
     fClose(hTarget)
     oFile:end()
 next
 


saludos
JAAM
User avatar
Joel Andujo
 
Posts: 130
Joined: Fri Oct 07, 2005 3:14 pm
Location: Cd. Obregón, Sonora, México

Re: Bajar ficheros desde una conexión FTP.

Postby Dioni » Sat Mar 03, 2018 1:19 pm

Muchas gracias Joel,

Ahoya ya puedo actualizar los programas de mis clientes ...
Dioni
 
Posts: 36
Joined: Tue May 12, 2009 8:45 pm
Location: Lima - Perú


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: richard-service and 4 guests