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