Como baixar um arquivo no FTP
Moderador: Moderadores
- helio
- Usuário Nível 3

- Mensagens: 175
- Registrado em: 04 Ago 2004 10:36
- Localização: São Bento do Una-PE
- Contato:
Como baixar um arquivo no FTP
Pessoal estou querendo que o sistema baixe um arquivo do meu FTP teria como porque procurei no forum mais nao encontrei.
Utilizo o XHARBOUR 0.99.7 com SQLRDD
Valeu,
Utilizo o XHARBOUR 0.99.7 com SQLRDD
Valeu,
Helio Beltrao Jr.
msn: helio@htisistemas.com
msn: helio@htisistemas.com
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
Como baixar um arquivo no FTP
Boa eu SUBO e baixo. para FTP
uso xhb + wvw (e tenho a fwh linkada) NAo sei se vai precsar dela Teria que ver.
e´que comousava MUITO a fwh acabou ficando comandos dela dentro do sistema
cpaiva@netsite.com.br = MSN
PAiva
uso xhb + wvw (e tenho a fwh linkada) NAo sei se vai precsar dela Teria que ver.
e´que comousava MUITO a fwh acabou ficando comandos dela dentro do sistema
cpaiva@netsite.com.br = MSN
PAiva
Como baixar um arquivo no FTP
Eu uso o oFTP, função do Harbour que também deve servir pro xharbour. Tem um tópico sobre isso no grupo. Ele dá umas falhas inexplicáveis de vez em quando.
Também tenho um .bat que acessa o ftp via dos. Posso te enviar, se vc quiser.
Também tenho um .bat que acessa o ftp via dos. Posso te enviar, se vc quiser.
Inacio de Carvalho Neto
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Como baixar um arquivo no FTP
Amiguinhos,
Acrescentem e modifiquem a função abaixo.
Ela utiliza o CScript do Windows já que não fui muito feliz com as classes FTPs existentes.
Função RunCScript()
Aos amigos, peço também que abrilhantem as respostas aos post já com um trecho de código elucidativo, algum exemplo de uso próprio para dar idéia de como se procede e resolver mais rápido as paradas, firmô?
Acrescentem e modifiquem a função abaixo.
Ela utiliza o CScript do Windows já que não fui muito feliz com as classes FTPs existentes.
Código: Selecionar todos
function NFE_EnviarFTP() /* ****** ////// OK ////// ****** */
LOCAL WSHShell
LOCAL intWindowStyle := 2, bWaitOnRun := .t.
cPathNFE := VerifyINI( "PATHS", "PathNFE", cPath+"\NF-e\remessa\NFe", cPathMonitorNFe+"\ACBrNFeMonitor.ini", .f.)
// Caso seja entrada modificar o caminho de movimento
cPathNFE := strTran( cPathNFE, "\NFe", "\Ent" )
cChaveNFe := Alltrim( PN->NFe )
cXMLFile := cChaveNFe + "-nfe.XML"
cXMLFile := cPathNFE + "\" + cXMLFile
//
//cFTPServerName := "ftp.SeuSite.com.br"
//cFTPLoginID := "SeuLogin"
//cFTPPassword := "SuaSenha"
//cServerFolder := "wwwroot/downloads"
//cLocalFolder := "c:\temp"
//
cSTRFile := [strFTPServerName = "] + cSHFTPServer + ["] + CRLF
cSTRFile := cSTRFile + [strFTPServerFolder = "] + cSHServerFolder + ["] + CRLF
cSTRFile := cSTRFile + [strLoginID = "] + cSHFTPLoginID + ["] + CRLF
cSTRFile := cSTRFile + [strPassword = "] + cSHFTPPassword + ["] + CRLF
cSTRFile := cSTRFile + [strFile2PutGet = "] + cXMLFile + ["] + CRLF
cSTRFile := cSTRFile + [strLocalFolderName = "] + cSHLocalFolder + ["] + CRLF
cSTRFile := cSTRFile + [strFTPScriptFileName = strLocalFolderName & "\nfeftpfile.txt"] + CRLF
cSTRFile := cSTRFile + [Set objFSO = CreateObject("Scripting.FileSystemObject")] + CRLF
cSTRFile := cSTRFile + [If (objFSO.FileExists(strFTPScriptFileName)) Then] + CRLF
cSTRFile := cSTRFile + [ objFSO.DeleteFile (strFTPScriptFileName)] + CRLF
cSTRFile := cSTRFile + [End If] + CRLF
cSTRFile := cSTRFile + [Set objMyFile = objFSO.CreateTextFile(strFTPScriptFileName, True)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("open " & strFTPServerName)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine (strLoginID)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine (strPassword)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("cd " & strFTPServerFolder)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("hash")] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("lcd " & strLocalFolderName)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("put " & strFile2PutGet)] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("bye")] + CRLF
cSTRFile := cSTRFile + [ objMyFile.WriteLine ("quit")] + CRLF
cSTRFile := cSTRFile + [ objMyFile.Close] + CRLF
cSTRFile := cSTRFile + [Set objFSO = Nothing] + CRLF
cSTRFile := cSTRFile + [Set objMyFile = Nothing] + CRLF
cSTRFile := cSTRFile + [Set objShell = WScript.CreateObject( "WScript.Shell" )] + CRLF
cSTRFile := cSTRFile + [objShell.Run ("ftp -s:" & chr(34) & strFTPScriptFileName & chr(34))] + CRLF
cSTRFile := cSTRFile + [Set objShell = Nothing]
rMemoWrit( "nfedist.vbs", cSTRFile )
// Uso de funções do Fivewin
MsgRun( "Distribuindo..." , "Nota Fiscal Eletronica", { || RUNCScript( cPathDados + "nfedist.vbs", 2 ) } )
return .t.
Código: Selecionar todos
function RUNCScript( cScript, intWindowStyle, bWaitOnRun )
* 0 Hide the window and activate another window.
* 1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
* 2 Activate & minimize.
* 3 Activate & maximize.
* 4 Restore. The active window remains active.
* 5 Activate & Restore.
* 6 Minimize & activate the next top-level window in the Z order.
* 7 Minimize. The active window remains active.
* 8 Display the window in its current state. The active window remains active.
* 9 Restore & Activate. Specify this flag when restoring a minimized window.
* 10 Sets the show-state based on the state of the program that started the application. Example
LOCAL WSHShell
DEFAULT intWindowStyle := 0, bWaitOnRun := .t.
WSHShell := TOleAuto():New("wscript.shell")
WSHShell:Run( "cscript /S /NOLOGO " + cScript, intWindowStyle, bWaitOnRun )
WSHShell:End()
return .t.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- helio
- Usuário Nível 3

- Mensagens: 175
- Registrado em: 04 Ago 2004 10:36
- Localização: São Bento do Una-PE
- Contato:
Como baixar um arquivo no FTP
Boa tarde,
Rochinha eu peguei a sua solucao mais este exemplo e enviar para FTP o que eu quero e baixar do FTP tem como ?
CJP se voce poder me mandar fico grato e mais uma solucao.
Valeu pela forca
Rochinha eu peguei a sua solucao mais este exemplo e enviar para FTP o que eu quero e baixar do FTP tem como ?
CJP se voce poder me mandar fico grato e mais uma solucao.
Valeu pela forca
Helio Beltrao Jr.
msn: helio@htisistemas.com
msn: helio@htisistemas.com
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Como baixar um arquivo no FTP
Helio, pra ir adiantando, talvez o que o colega referia-se é a uma função que preparei e deixei disponível na seção de Downloads: Downloads - Baixa arquivo de uma lista mas esta é uma solução em HMG/Harbour. Mas aqui no fórum, existem outros exemplos, inclusive em comando do sistema operacional rodando em aplicativo Clipper (só procurar).helio escreveu:CJP se voce poder me mandar fico grato e mais uma solucao.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Como baixar um arquivo no FTP
Olá Helio,
Um exemplo de como eu uso o ftp para baixar arquivo.
Adapte para sua necessidade.
Obs: Este código funciona com harbour não sei se com xharbour funcionará.
Um exemplo de como eu uso o ftp para baixar arquivo.
Adapte para sua necessidade.
Obs: Este código funciona com harbour não sei se com xharbour funcionará.
Código: Selecionar todos
FUNCTION Donwload_Auto(cFile)
LOCAL ftpproto :="ftp://",;
ftpserver:= "ftp.xxxxxx.kinghost.net:21",;
ftpuser := "xxxxx",;
ftppass := "xxxxx",;
cURL :=ftpproto+ftpuser+":"+ftppass+"@"+ftpserver,;
oUrl, oCred, oFtp
HB_Default(@cFile,"versao.txt")
IF Internet() //Testa se tem internet disponivel.
TRY
oURL :=turl():new(cURL)
oCred:=TIPCredentials()
oFTP :=TIPclientFTP():NEW(oUrl,,.T.)
oFTP:nDefaultPort:=21
oFTP:nConnTimeout:=2000
oFTP:BusePasv :=.T.
IF oFTP:Open()
oFTP:Cwd("/UPLOAD/") // muda o diretorio no FTP
aLista:=oFTP:listFiles("*.*")
IF AScan( aLista, {|a| Upper(a[1]) == "ASAPREV.EXE" } ) > 0 .AND. AScan( aLista, {|a| Upper(a[1]) == "ASAPREV.NEW" } ) > 0
oFTP:DownLoadFile(HB_DirBase()+"DOWNLOAD\ASAPREV.EX_","ASAPREV.EXE") // baixa o arquivo renomeando.
oFTP:DownLoadFile(HB_DirBase()+"DOWNLOAD\ASAPREV.NEW","ASAPREV.NEW") // baixa o arquivo renomeando.
//oFtp:mget("*.*",".\download"+HB_PS()) // Baixar múltiplos arquivos
oFtp:dele("ASAPREV.EXE")
oFtp:dele("ASAPREV.NEW")
ENDIF
oFTP:Close()
ENDIF
END
ENDIF
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- helio
- Usuário Nível 3

- Mensagens: 175
- Registrado em: 04 Ago 2004 10:36
- Localização: São Bento do Una-PE
- Contato:
Como baixar um arquivo no FTP
Asimoes
testei mais deu um erro na seguinte linha: oURL :=turl():new(cURL) se poder me ajudar fico grato.
testei mais deu um erro na seguinte linha: oURL :=turl():new(cURL) se poder me ajudar fico grato.
Helio Beltrao Jr.
msn: helio@htisistemas.com
msn: helio@htisistemas.com
Como baixar um arquivo no FTP
Olá Hélio
Nos informe.
Como eu disse esse código funciona com harbour não sei se funciona com xharbour, verifique se a lib -lhbtip está informada no script de compilação com harbour.helio escreveu:testei mais deu um erro na seguinte linha: oURL :=turl():new(cURL) se poder me ajudar fico grato.
Nos informe.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Paulo Pereira
- Usuário Nível 2

- Mensagens: 79
- Registrado em: 28 Abr 2011 00:29
- Localização: Joinville / SC
Como baixar um arquivo no FTP
Oi
Rochinha usei o seu metodo de CScript do Windows, e acontece o seguinte:
se deixo essa linha WSHShell:End() , da erro Winole/1009 No Exporterd Method: END
Dos Error -2147352570
Se tiro a linha, consigo mandar o arquivo, do meu micro, MAS no cliente
A execucao vai até o ponto que tem o comando PUT ( onde o arquivo é transmitido)
ai fica esperendo e nao manda...
Isso tb acontecia quando eu gerava uma bat para mandar o arquivo.. via ftp
Entao acho que o problema nem é tando do metodo.. é configuracao
NAO tem haver como modo Passivo
PS: sempre funcionou nos clientes gerando uma bat simples, ai comecou na nao funcionar.
criava um arquivo e executava essa chamada
ftp -s:log.ftp
Arquivo log.ftp
Rochinha usei o seu metodo de CScript do Windows, e acontece o seguinte:
se deixo essa linha WSHShell:End() , da erro Winole/1009 No Exporterd Method: END
Dos Error -2147352570
Se tiro a linha, consigo mandar o arquivo, do meu micro, MAS no cliente
A execucao vai até o ponto que tem o comando PUT ( onde o arquivo é transmitido)
ai fica esperendo e nao manda...
Isso tb acontecia quando eu gerava uma bat para mandar o arquivo.. via ftp
Entao acho que o problema nem é tando do metodo.. é configuracao
NAO tem haver como modo Passivo
PS: sempre funcionou nos clientes gerando uma bat simples, ai comecou na nao funcionar.
criava um arquivo e executava essa chamada
ftp -s:log.ftp
Arquivo log.ftp
Código: Selecionar todos
open
ftp.docliente.com.br
seulogin
suasenha
hash
binary
cd /pastadestino
put \nomedoarquivoquevai.txt
dir
by

