Page 1 of 2
Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Thu Dec 16, 2010 3:02 pm
by Raymundo Islas M.
Antonio,
Llevo varios dias peleando con este tema, me pregunto si hay algun ejemplo en concreto que funcione correctamente.
Ya lei y probe todos los hilos : Los de Enrico, el icopyfil y el de varios compañeros , y en todos me estanco cuando se verifica si se genero el objeto tInternet:new()
Si uso hIntCon := LoadLib32( "WinInet.dll" ) me regresa 0 puesto que estoy incluyendo la lib, pero ya cuando quiero realizar la operacion SIEMPRE me dice que no se puede cargar y nomas no continua.
Ya intente registrarla y nop, igual.
Hay algo que no este haciendo bien o que me falte realizar ?
PD : Conexion a Internet la tengo en todo momento
Saludos
Re: Enviar/Recibir archivos via ftp
Posted:
Thu Dec 16, 2010 6:23 pm
by Manuel Aranda
Hola Raimundo:
Has visitado el bolg de BielSys ? Quizá ahí encuentres lo que buscas en la entrada "Actualización automatica de aplicaciones via FTP"
http://bielsys.blogspot.com/
Re: Enviar/Recibir archivos via ftp
Posted:
Fri Dec 17, 2010 12:26 am
by Raymundo Islas M.
Manuel,
Gracias por contestar,
Efectivamente, la opcion que ofrece Biel fue mi primera opcion a probar, ya que estoy es proceso de liberar la nueva version de la app y estoy actualizando a muchas pcs de los clientes. Sin embargo tambien me tope con el bloqueo que genera la wininet.dll
No se que este pasando, recuerdo hace algun tiempo hacer pruebas satisfactorias en mandar emails desde FWH y esto del ftp y ahora nop, no quiere funcar nada.
Voy a desemplovar mi vieja version 8.12 que tengo para probar.
Te agradezco de todos modos tu sugerencia y si alguna tiene la receta de como resolver este detalle con la dll se lo agradeceria enormemente.
Saludos
Re: Enviar/Recibir archivos via ftp
Posted:
Wed Dec 22, 2010 10:34 pm
by Raymundo Islas M.
Ok,
La solucion a esto fue algo que nunca imagine : un archivo .bat
- Code: Select all Expand view
@echo off
echo user xxuserxx> ftpcmd.dat
echo xxpasswordxx>> ftpcmd.dat
echo ascii>> ftpcmd.dat
echo put %1>> ftpcmd.dat <------ Aqui tambien se puede poner la ruta y nombre remoto del archivo a subir al ftp
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat xxnombre_o_ip_del_ftpxx
del ftpcmd.dat
Cambian los valores reales de su ftp en los datos con xxalgoxx
Y tan simple como : nombredelarchivo.bat xxxxx <---- nombre del archivo a subir, se le puede poner ruta
Y listo !!!
Probado en mi ftp y con el de un proveedor autorizado para fact. electronica
Si bien NO es la solucion a mi problema, al menos puedo continuar en lo que tengo que hacer.
Saludos
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Wed Dec 22, 2010 11:20 pm
by Armando
Raymundo:
Excelente !, y me acabas de dar una idea para solucionar el post de innosetup.
Saludos
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Thu Dec 23, 2010 2:31 pm
by russimicro
FUNCTION ConectaServerFTP(cNomSer,cNomUsr,cClaUsr,cDocNit,oFtp)
cServer := cNomSer //change ftpserver to the real name or ip of your ftp server
cUser := cNomUsr // change ftpuser to an valid user on ftpserer
cPassword := cClaUsr // change ftppass to an valid password for ftpuser
cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer
cUser:= strtran(cUser,"@","&at;")
oUrl := tUrl():New( cUrl )
IF At( "@", cUser ) > 0
oUrl:cUserID := strtran(cUser,"&at;","@")
oUrl:cPassword := cPassword
ENDIF
oFTP := tIPClientFtp():New( oUrl, .T. )
oFTP:nConnTimeout := 20000
oFTP:bUsePasv := .T.
oFTP:Open( )
IF oFtp <> NIL
RETURN .T.
ENDIF
RETURN .F.
******************************************************************************
FUNCTION SubeTablasFacturasFtp(cNitEmp,cCiaDes,cCodVen,oFtp)
LOCAL cLocFil := ""
LOCAL cRemFil := ""
LOCAL cUniLoc := "\zerusmovil\"+cCiaDes+"\"+cCodVen+"\temp\"
LOCAL cUniRem := "moviles/"+cNitEmp+"/"+cCiaDes+"/"+cCodVen+"/"
cLocFil := cUniLoc+"FACTURAS.CSV"
cRemFil := cUniRem+"FACTURAS.CSV"
SELECT MOV_FAC
MOV_FAC->( DBGOTOP() )
IF MOV_FAC->( !EOF() )
COPY TO &(cLocFil) DELIMITED WITH ( { [], [,] } )
IF HB_FSize(cLocFil) > 0
oFtp:UpLoadFile( cLocFil, cRemFil )
ENDIF
ENDIF
RETURN .T.
***************************************************************************
FUNCTION BajaTablasFtp(cNitEmp,cCiaDes,cCodVen)
LOCAL cUniFtp := "moviles/"+cNitEmp+"/"+cCiaDes+"/"+cCodVen+"/"
LOCAL cUniDes := "C:\TEMP"
LOCAL aVecArc := oFtp:listFiles(cUniFtp + "/" + "*.TXT")
LOCAL J := 0, cNomArc := ""
LOCAL nLonArc := 27 // TAMA¥O DEL NOMBRE DE ARCHIVOS.TXT
FOR J := 1 TO LEN(aVecArc)
cArcOri := aVecArc[J,1]
cNomArc := SUBS(aVecArc[J,1],LEN(aVecArc[J,1]) - nLonArc )
cArcDes := cUniDes+"\"+cNomArc
IF ( oFtp:fileSize(cArcOri) > 0 )
oFtp:DownLoadFile( cArcDes, cArcOri )
AnexarTxtTem(cUniDes,cArcDes,cNomArc,"PEDIDOS",oFtp,cArcOri) // FUNCTION PROPIA
ENDIF
NEXT J
RETURN
********************************************************************************
Johnson Russi
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Thu Dec 23, 2010 4:41 pm
by Raymundo Islas M.
Jhonson,
Muchas gracias por la aportacion, hare pruebas con tu codigo, pero te tengo una pequeña pregunta :
Funciona directa/indirectamente con la WinInet.Dll ??
Ya que ese ha sido mi gran problema, he visto/leido que varios colegas la usan sin problemas. En mi caso, simple y sencillamente me bloquea.
Y hasta la fecha no he encontrado algun post que indique que tratamiento ( si es que lo requiera ) aplicarle para que pueda funcionar.
Ya que como comente previamente, hice algunos copy/paste de otras opciones y en todas, al momento de crear el objeto de conexion, siempre de devuelve que no hay, cuando claramente la tengo.
Te agradezco mucho, ojala y se pueda realizar el envio/recepcion que necesito.
Saludos
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Sun Dec 26, 2010 1:17 am
by Raymundo Islas M.
Jhonson,
Excelente !!!
Funciona Perfecto.
Muchas Gracias y Saludos
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Fri Mar 04, 2011 1:44 am
by QAZWSX2K
AMIGO Jhonson, ando probando tu rutina y me da error en estas funciones
tIPClientFtp()
turl()
esas son propias tuyas o de que serian, gracias
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Fri Mar 04, 2011 4:12 pm
by Raymundo Islas M.
Alex,
Son propias de XHarbour, solo te falta agregar una lib a tu proyecto : tip.lib
Saludos
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Fri Mar 18, 2011 6:50 pm
by QAZWSX2K
gracias a todos, ya esta funcionando 100% ok
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Sun Apr 10, 2011 1:38 pm
by QAZWSX2K
amigos
sobre la rutina he encontrado un detalle que me parece peligroso y es que generan un archivo log llamado ftp1, ftp2, y asi sucesivamente cada vez que se ejecuta y en este archivito log pone hasta la clave, etc, parece que fuera de la propia libreria de harbour, habra algun paramentro no documentado que haga que no lo genere?
gracias
Re: Enviar/Recibir archivos via ftp
Posted:
Wed Aug 31, 2011 6:07 am
by RodolfoRBG
Hola mis cuates,
Tomando el ejemplo de Johnson Russi, a mi se me congela el sistema en la instruccion:
oUrl := tUrl():New( cUrl )
Alguna idea del porque?
Salu2
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Thu Sep 01, 2011 1:08 am
by Raymundo Islas M.
Rodolfo,
si agregaste las libs requeridas ?
Con las funciones de Russi todo estuvo ok desde la primera !!
Saludos
Re: Enviar/Recibir archivos via ftp [ SOLVED ]
Posted:
Thu Sep 01, 2011 2:42 am
by RodolfoRBG
Compadre, gracias por responder.
Si tengo la libreria Tip.LIB incluida pero se trato de un problema con la forma en que tenia los archivos en el servidor.
Ya puedo bajar archivos, lo unico que no me funciona es que al dar la instruccion:
xbrowse(oFtp:DIRECTORY('*.*'))
me da un solo elemento por cada archivo con el nombre de "Binary"