no envia el archivo, que hago mal???

no envia el archivo, que hago mal???

Postby goosfancito » Wed Apr 28, 2021 10:49 pm

A ver gente, porque ya probe 10 ejemplos. No se que estaoy haciendo mal, hay mucho ejemplos, los pruebo y no me estan funcionando.
necesito enviar un PDF al servidor de FTP

Code: Select all  Expand view  RUN
FUNCTION cinco()

   LOCAL oInternet := TInternet():New()
   LOCAL oFTP      := TFTP():New( "ftp.ser.com", oInternet, "rcg@iogustavo.com", "pasword" )
   LOCAL cFile := "prueba.pdf"
   LOCAL hSource
   LOCAL nBytes
   LOCAL lEnd := .F.
   LOCAL nBufSize := 2000
   LOCAL cBuffer := Space( nBufSize )

   hSource := FOpen( "uno.pdf" )

   IF ! Empty( oFTP:hFTP )
      oFile := TFTPFile():new( cFile, oFTP )
      oFile:OpenWrite()
      FSeek( hSource, 0, 0 )

      WHILE ( nBytes := FRead( hSource, @cBuffer, nBufSize ) ) > 0 .and. ! lEnd
         oFile:write( SubStr( cBuffer, 1, nBytes ) )
      END

   ELSE
      ? "no se conecto"
   ENDIF

   FClose( hSource )
   oFile:END()

   RETURN ( NIL )


el archivo prueba.pdf lo crea en el FTP pero con 0 bytes, y no se como hacer para DEBUGEAR el comando para que me diga que es lo que hace.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: no envia el archivo, que hago mal???

Postby cmsoft » Thu Apr 29, 2021 11:34 am

Hola Gustavo:
Te paso un ejemplo que me está funcionando.
Code: Select all  Expand view  RUN

IF !ConectaServerFTP("miservidorftp","miusuario","mipassword",@oFtp)
     MsgStop("No pudo subir archivo")
ENDIF
SubeArchivoFtp(cArchivoOrigen,"carpetaftp/archivoDestino.pdf",oFtp)

*****************************************
*** Conectar al servidor FTP
FUNCTION ConectaServerFTP(cNomSer,cNomUsr,cClaUsr,oFtp)
LOCAL cServer, cUser, cPassword, oUrl, cUrl
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:bTrace := {|| .t.}
oFTP:Open( )
IF oFtp <> NIL
   RETURN .T.
ENDIF
RETURN .F.

FUNCTION SubeArchivoFtp(cFileOri,cFileDes,oFtp)
oFtp:Dele( cFileDes )
oFtp:UpLoadFile( cFileOri, cFileDes )
RETURN .T.
 


Estas son las librerias de Harbour y de Borland que incluyo
Code: Select all  Expand view  RUN

echo %hdir%\lib\hbwin.lib + >> b32.bc
echo %hdir%\lib\hbrtl.lib + >> b32.bc
echo %hdir%\lib\xhb.lib + >> b32.bc
echo %hdir%\lib\hbvm.lib + >> b32.bc
echo %hdir%\lib\gtgui.lib + >> b32.bc
echo %hdir%\lib\gtstd.lib + >> b32.bc
echo %hdir%\lib\hblang.lib + >> b32.bc
echo %hdir%\lib\hbmacro.lib + >> b32.bc
echo %hdir%\lib\hbrdd.lib + >> b32.bc
echo %hdir%\lib\rddntx.lib + >> b32.bc
echo %hdir%\lib\rddcdx.lib + >> b32.bc
echo %hdir%\lib\rddfpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\hbdebug.lib + >> b32.bc
echo %hdir%\lib\hbcommon.lib + >> b32.bc
echo %hdir%\lib\hbpp.lib + >> b32.bc
echo %hdir%\lib\hbusrrdd.lib + >> b32.bc
echo %hdir%\lib\hbwin.lib + >> b32.bc
echo %hdir%\lib\hbcplr.lib + >> b32.bc
echo %hdir%\lib\hbct.lib + >> b32.bc
echo %hdir%\lib\hbcpage.lib + >> b32.bc
echo %hdir%\lib\hbhsx.lib + >> b32.bc
echo %hdir%\lib\hbmisc.lib + >> b32.bc
echo %hdir%\lib\hbmzip.lib + >> b32.bc
echo %hdir%\lib\hbnf.lib + >> b32.bc
echo %hdir%\lib\hbpcre.lib + >> b32.bc
echo %hdir%\lib\hbtip.lib + >> b32.bc
echo %hdir%\lib\hbziparc.lib + >> b32.bc
echo %hdir%\lib\hbmzip.lib + >> b32.bc
echo %hdir%\lib\hbzlib.lib + >> b32.bc
echo %hdir%\lib\minizip.lib + >> b32.bc
echo %hdir%\lib\png.lib + >> b32.bc
echo %hdir%\lib\hbusrrdd.lib + >> b32.bc
echo %hdir%\lib\hbtip.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\Ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\uuid.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\ws2_32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
echo %bcdir%\lib\psdk\psapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\gdiplus.lib + >> b32.bc
echo %bcdir%\lib\psdk\urlmon.lib + >> b32.bc
echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc
 


Espero te sirva
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: no envia el archivo, que hago mal???

Postby goosfancito » Thu Apr 29, 2021 12:40 pm

ya pruebo y te digo.

gracias
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: no envia el archivo, que hago mal???

Postby goosfancito » Thu Apr 29, 2021 9:37 pm

Error description: Error BASE/1004 Message not found: TFTP:CPROTO
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: no envia el archivo, que hago mal???

Postby cmsoft » Thu Apr 29, 2021 10:30 pm

No hay nada que diga cProto, ni en la clase ni en el codigo que yo te pase.
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: no envia el archivo, que hago mal???

Postby goosfancito » Thu Apr 29, 2021 11:04 pm

no entiendo como algo tan facil en otros lenguajes en este sea tan complicado poder hacerlo.

HB_INETTIMEOUT
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: no envia el archivo, que hago mal???

Postby goosfancito » Thu Apr 29, 2021 11:11 pm

cmsoft wrote:No hay nada que diga cProto, ni en la clase ni en el codigo que yo te pase.


por eso mismo no entiendo que es lo que pasa.
ya probe sientos de codigos solo puedo conectarme no puedo enviar un solo archivo menos descargarlo
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: no envia el archivo, que hago mal???

Postby JESUS MARIN » Fri Apr 30, 2021 9:37 am

Buenos dias

El comando FOpen() abre el archivo. Nada mas.

Fseek() posiciona el puntero de lectura.

Dentro de tu bucle no cambias el puntero con otro FSeek()
Como FRead() te devuelve el numero de bytes ledidos, yo comprobaría antes de escribir si cBuffer tiene contenido.

Saludos
Last edited by JESUS MARIN on Fri Apr 30, 2021 10:02 am, edited 1 time in total.
Jesús Marín
JESUS MARIN
 
Posts: 176
Joined: Wed Jan 02, 2019 8:36 am

Re: no envia el archivo, que hago mal???

Postby Antonio Linares » Fri Apr 30, 2021 9:46 am

Este ejemplo esta probado esta misma mañana y funciona correctamente:
https://github.com/FiveTechSoft/mod_harbour/blob/master/samples/ftpup.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Timm Sodtalbers and 49 guests