Página 1 de 1
upload via ftp ou http
Enviado: 14 Jul 2012 14:42
por Abel
apos ler os post e contar com a colaboracao de voces, meu download esta funcionando pela hbtip.
agora tenho outra questao para resolver, preciso fazer upload de arquivos para o site e gostaria de fazer pelo harbour 3.1 nighty.
pode ser via ftp ja que nao havera conexoes simultaneas enviando arquivos ao site.
procure no forum achei algumas coisas referente a download mesmo o titulo sendo upload,
se alguem puder colaborar com mais esta duvida, agradeco desde ja.
estou usando harbour nighty 3.1
Abel
upload via ftp ou http
Enviado: 14 Jul 2012 21:27
por Imatech
\Harbour\contrib\hbtip\tests\upld_ftp.prg
Código: Selecionar todos
/*
* $Id: upld_ftp.prg 17552 2012-06-04 22:21:59Z vszakats $
*/
/*
* Uploadftp.prg
* Send an file or list of files to ftp server
*/
#include "directry.ch"
PROCEDURE MAIN( cMask )
? TRP20FTPEnv( cMask )
RETURN
/**********************************************************************
*
* Static Function TRP20FTPEnv()
*
**********************************************************************/
STATIC FUNCTION TRP20FTPEnv( cCarpeta )
LOCAL aFiles
LOCAL cUrl
LOCAL cStr
LOCAL lRetorno := .T.
LOCAL oUrl
LOCAL oFTP
LOCAL cUser
LOCAL cServer
LOCAL cPassword
LOCAL cFile := ""
cServer := "ftpserver" /* change ftpserver to the real name or ip of your ftp server */
cUser := "ftpuser" /* change ftpuser to an valid user on ftpserer */
cPassword := "ftppass" /* change ftppass to an valid password for ftpuser */
cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer
/* Leemos ficheros a enviar */
aFiles := Directory( cCarpeta )
IF Len( aFiles ) > 0
oUrl := tUrl():New( cUrl )
oFTP := tIPClientFtp():New( oUrl, .T. )
oFTP:nConnTimeout := 20000
oFTP:bUsePasv := .T.
/* Comprobamos si el usuario contiene una @ para forzar el userid */
IF At( "@", cUser ) > 0
oFTP:oUrl:cServer := cServer
oFTP:oUrl:cUserID := cUser
oFTP:oUrl:cPassword := cPassword
ENDIF
IF oFTP:Open( cUrl )
FOR EACH cFile IN afiles
? "arquivo : " + cFile[ F_NAME ]
IF ! oFtp:UploadFile( cFile[ F_NAME ] )
lRetorno := .F.
EXIT
ELSE
lRetorno := .T.
ENDIF
NEXT
oFTP:Close()
ELSE
cStr := "No se ha podido conectar con el servidor FTP" + " " + oURL:cServer
IF oFTP:SocketCon == NIL
cStr += Chr( 13 ) + Chr( 10 ) + "Conexión no inicializada"
ELSEIF hb_InetErrorCode( oFTP:SocketCon ) == 0
cStr += Chr( 13 ) + Chr( 10 ) + "Respuesta del servidor:" + " " + oFTP:cReply
ELSE
cStr += Chr( 13 ) + Chr( 10 ) + "Error en la conexión:" + " " + hb_InetErrorDesc( oFTP:SocketCon )
ENDIF
? cStr
lRetorno := .F.
ENDIF
ENDIF
RETURN lRetorno
upload via ftp ou http
Enviado: 15 Jul 2012 19:22
por Abel
Valeu pela dica,
olhei o programa, fiz as adaptacoes, compilei.
mas ele nao envia, retorna sempre .f., tentei ate mesmo usar as dicas de um post
por sygecom » 23 Mai 2012 14:47
Para LocalWeb tem que usar servidor FTP PASSIVO:
oUrl := tUrl():New( "ftp://" + cUser + ":" + cPassword + "@" + cServer )
oFTP := tIPClientFtp():New( oUrl, .F. ) // tentei aqui com .f. e .t.
oFTP:bUsePasv := .T. // aqui o pulo do gato // com .t. ele devolve .f. de imediato
// com .f. ele tenta o envio mas estora no timeout
vale dizer que estou tentando enviar para a localweb, sera q é este o problema ?
Abel
upload via ftp ou http
Enviado: 15 Jul 2012 22:32
por JoséQuintas
aqui eu uso hptip para upload e download.
Não sei porque, já teve dias de não funcionar pra download - faz todo o processo mas não batem os dados no final.
Já deixei o programa preparado pra usar hbtip uma vez, e se não der certo, usa o XMLSOAP da Microsoft.
Só por causa do gráfico da hbtip....
Não faço idéia porque isso acontece.
Uso no estilo do exemplo que passaram, que tem na pasta hbtip\tests.
Não testei do hb nightly.