Page 1 of 1
Subiendo y bajando archivos al FTP
Posted: Mon Jan 28, 2008 4:26 am
by fleal
Lo siguiente funciona para bajar un archivo de un ftp.
function testftp()
local oInternet := TInternet():New()
local oFTP := TFTP():New( "ftp.captura-digital.com", oInternet, "user","pass" )
if ! Empty( oFTP:hFTP )
Ftpgetfile( oFTP:hFTP,"nancy.xls","c:\ok\nancy.xls" )
¿¿ Y para subir un archivo ??
Fernando Leal
México, DF
Posted: Mon Jan 28, 2008 7:46 am
by JoseLuis
Aqui te pongo como lo envio yo
Code: Select all
#include "fivewin.ch"
Function Mandaf(fichero)
Local oInternet, oFtp, cServFtp:="ftp.tuftp.com",cUserFTp:="usuario",cPassFtp:="password"
oInternet := TInternet():New()
oFTP := TFTP():New( Alltrim(cServFtp), oInternet, Alltrim(cUserFtp),Alltrim(cPassFtp) )
If ! Empty( oFTP:hFTP )
FtpSendFiles ({fichero},{"Aqui pones la carpeta del ftp donde lo quieres enviar"+fichero},oFtp)
Endif
oInternet:End()
Return (nil)
Function FTPSendFiles ( aSource, aTarget, oFTP )
Local nBufSize:=4096
local n
local hSource
local cBuffer := Space( nBufSize )
local nBytes, nFile := 0, nTotal := 0
local nTotSize := 0
local oFile
for n = 1 to Len( aSource )
if ! File( aSource[ n ] )
MsgStop( "Fichero no encontrado: " + aSource[ n ] )
exit
endif
hSource = FOpen( aSource[ n ] )
nTotSize += FSeek( hSource, 0, 2 )
FClose( hSource )
SysRefresh()
next
for n = 1 to Len( aSource )
hSource = FOpen( aSource[ n ] )
oFile = TFtpFile():New( aTarget[ n ], oFTP )
oFile:OpenWrite()
FSeek( hSource, 0, 0 )
nFile := 0
SysRefresh()
while ( nBytes := FRead( hSource, @cBuffer, nBufSize ) ) > 0
oFile:Write( SubStr( cBuffer, 1, nBytes ) )
SysRefresh()
end
FClose( hSource )
oFile:End()
next
return nil
Saludos
Jose Luis
ok
Posted: Mon Jan 28, 2008 8:20 pm
by fleal
Jose Luis,
Ha funcionado a la primera !
Gracias por ayudarme