Hola gente!
Estoy desempolvando unas funciones que tenÃa para subir y descargar archivos desde una FTP (usando la clase tFtp)
Si bien hace el proceso correctamente de subida, no me tira error alguno, pero tampoco graba en
la FTP, revisé los permisos de la carpeta, he retomado una que ya usaba hace varios años atrás, pero sin resultados.
Mi función de enviar es:
IF FTPSendFiles({"c:\archivo.txt"}, {"/libreria/" + "archivo.txt"})
MsgInfo("Pudo enviar")
ELSE
MsgStop("No pudo enviar")
ENDIF
..
..
RETURN NIL
//----------------------------------------------------------------------------//
STAT FUNC FTPSendFiles(aSource,aTarget)
*SUBIR ACTUALIZACIÓN
LOCAL oInternet,oFtp,RETORNO:=.F.,aFiles:={}
LOCAL accesoBD:={"ftp.miweb.com.ar","miusuario","miclave"}
oInternet:=tInternet():New()
oFtp:=tFtp():New(accesoBD[1],oInternet,accesoBD[2],accesoBD[3])
IF !Empty(oFtp:hFtp)
RETORNO:=SendFiles(aSource,aTarget,oFtp)
oFtp:End()
oInternet:End()
ENDIF
RETURN(RETORNO)
//----------------------------------------------------------------------------//
STAT FUNC SendFiles(aSource,aTarget,oFtp)
*ENVIAR ARCHIVOS
LOCAL n,hSource,cBuffer:=Space(4096),nBytes,nFile:=0,nTotal:=0,nTotSize:=0,oFile
FOR n:=1 to LEN(aSource)
hSource:=FOpen(aSource[n])
nTotSize+=FSeek(hSource,0,2)
FClose(hSource)
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
WHILE (nBytes:=FRead(hSource,@cBuffer,4096))>0
nTotal+=nBytes
oFile:Write(SubStr(cBuffer,1,nBytes))
ENDDO
FClose(hSource)
oFile:End()
NEXT
RETURN nTotal=nTotSize
Alguno me puede dar una idea porque no funciona?
Muchas gracias!!
Roberto
PD: Usando FW Diciembre 2024