Hola a todos,
¿Alguién tiene una rutina para bajarse ficheros desde una conexión FTP?
Gracias,
Bajar ficheros desde una conexión FTP.
Bajar ficheros desde una conexión FTP.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
- Joel Andujo
- Posts: 109
- Joined: Fri Oct 07, 2005 3:14 pm
- Location: Cd. Obregón, Sonora, México
- Contact:
Re: Bajar ficheros desde una conexión FTP.
// 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()
*--// 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()
Re: Bajar ficheros desde una conexión FTP.
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,
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 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Re: Bajar ficheros desde una conexión FTP.
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....
Es muy pactico tu funcion de subir a ftp gracias por tu contribucion..
podrias poner la funcion de bajar de ftp...
Gracias....
- Joel Andujo
- Posts: 109
- Joined: Fri Oct 07, 2005 3:14 pm
- Location: Cd. Obregón, Sonora, México
- Contact:
Re: Bajar ficheros desde una conexión FTP.
Claro que si, espero te ayude.
saludos
JAAM
Code: Select all
// 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
JAAM
Re: Bajar ficheros desde una conexión FTP.
Muchas gracias Joel,
Ahoya ya puedo actualizar los programas de mis clientes ...
Ahoya ya puedo actualizar los programas de mis clientes ...