Autor
|
Tema: descargar ftp (Leído 2,944 veces)
|
sp26
Desconectado
Mensajes: 88
|
Quisiera saber de una form que cree un Archivo txt (indicando los datos en el codigo mismo) y lo suba a un servidor FTP de manera silenciosa. Tambien que descargue un archivo ftp Me habian dicho que con Winsock, pero estuve redondeando y al final no encontre como Si hay otra manera de hacerlo seria mejor tambien .
|
|
|
En línea
|
|
|
|
jrhomer
|
Espero que esto te sirva. Cuentanos a ver como te ha ido al probarlo.
Private Declare Function GetShortPathName Lib "kernel32" Alias _ "GetShortPathNameA" (ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''' FTP '''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Esta API es para que de una ruta WIndows, me devuelva una ruta MSDOS, 'ya que el comando FTP del prompt no reconoce rutas largas
Public Function RutaDos(strFileName As String) As String
Dim lngRes As Long, strPath As String strPath = String$(165, 0) lngRes = GetShortPathName(strFileName, strPath, 164) RutaDos = Left$(strPath, lngRes) End Function
'''''''''''''''''''''''''''''''''' ''''''' subir fichero '''''''''''' ''''''''''''''''''''''''''''''''''
Function PutFichero() On Error GoTo ERROR
Dim Retval 'escribimos el fichero ftp.txt que hara toda la labor If Len(Dir("C:\ftp.txt")) <> 0 Then Kill "C:\ftp.txt" Dim StrFtp As String Dim StrUsuario As String Dim StrPassword As String Dim strCarpetaRemota As String Dim StrRutalocalFichero As String StrFtp = "ftp.sitio.com" StrUsuario = "sitio.com" StrPassword = "contraseña" strCarpetaRemota = "html/BD/" StrRutalocalFichero = "BD.zip" ' subir al servidor NumeroArchivo = FreeFile Open "C:\ftp.txt" For Append As #NumeroArchivo Print #NumeroArchivo, "Open " & StrFtp Print #NumeroArchivo, StrUsuario Print #NumeroArchivo, StrPassword Print #NumeroArchivo, "cd " & strCarpetaRemota Print #NumeroArchivo, "binary" Print #NumeroArchivo, "put " & RutaDos(StrRutalocalFichero) Print #NumeroArchivo, "bye" Close #NumeroArchivo DoEvents
' Retval = Shell("ftp -s:C:\ftp.txt", vbNormalFocus) Call ExecuteAndWait("ftp -s:C:\ftp.txt") Exit Function
ERROR: End Function
'''''''''''''''''''''''''''''''''' ''''''' bajar fichero '''''''''''' ''''''''''''''''''''''''''''''''''
Function GetFichero() On Error GoTo ERROR
Dim Retval
Dim StrFtp As String Dim StrUsuario As String Dim StrPassword As String Dim strCarpetaRemota As String Dim StrFicheroRemoto As String StrFtp = "ftp.sitio.com" StrUsuario = "sitio.com" StrPassword = "contraseña" strCarpetaRemota = "html/BD/" StrFicheroRemoto = "BD.ZIP" ' bajar el fichero NumeroArchivo = FreeFile Open "C:\ftp.txt" For Append As #NumeroArchivo Print #NumeroArchivo, "Open " & StrFtp Print #NumeroArchivo, StrUsuario Print #NumeroArchivo, StrPassword Print #NumeroArchivo, "cd " & strCarpetaRemota Print #NumeroArchivo, "binary" Print #NumeroArchivo, "get " & StrFicheroRemoto & " " & _ RutaDos(Directorio) & "BD.zip" Print #NumeroArchivo, "bye" Close #NumeroArchivo DoEvents
' Retval = Shell("ftp -s:C:\ftp.txt", vbNormalFocus) Call ExecuteAndWait("ftp -s:C:\ftp.txt") If Len(Dir("C:\ftp.txt")) <> 0 Then Kill "C:\ftp.txt" ' cambiar nombre, para tener una cópia de seguridad NumeroArchivo = FreeFile Open "C:\ftp.txt" For Append As #NumeroArchivo Print #NumeroArchivo, "Open " & StrFtp Print #NumeroArchivo, StrUsuario Print #NumeroArchivo, StrPassword Print #NumeroArchivo, "cd " & strCarpetaRemota Print #NumeroArchivo, "rename " & StrFicheroRemoto & " " & _ "BD_" & FECHA & ".zip" Print #NumeroArchivo, "bye" Close #NumeroArchivo DoEvents
Call ExecuteAndWait("ftp -s:C:\ftp.txt") Exit Function
ERROR: End Function
|
|
|
En línea
|
ups!!
|
|
|
rixi15
Desconectado
Mensajes: 66
|
y en el form_load k se pone¿?
|
|
|
En línea
|
|
|
|
Castord
Desconectado
Mensajes: 60
|
WTF!
ese codigo no hace nada interesante...
|
|
|
En línea
|
Desde Asunción - Paraguay /*Es una ***** pero igual amo mi país!*/
|
|
|
sp26
Desconectado
Mensajes: 88
|
¿Porque no hace nada interesante? Tienes algun codigo mejor? si lo tienes, seria bueno que lo compartas con nosotros Gracias Jrhomer, probare tu codigo . aunque no entiendo en la parte que dices:. StrRutalocalFichero = "BD.zip" Tambien no dejaste claro como crear un archivo *.txt, de igual manera muchas gracias, lo probare .
|
|
|
En línea
|
|
|
|
rixi15
Desconectado
Mensajes: 66
|
ami no me funciona ay k ponmer algo en el form load¿?
|
|
|
En línea
|
|
|
|
sp26
Desconectado
Mensajes: 88
|
haber, tampoco me funciona.
intentare cis=3
|
|
|
En línea
|
|
|
|
sp26
Desconectado
Mensajes: 88
|
|
|
|
En línea
|
|
|
|
jrhomer
|
El código fuinciona perfectamente, lo tengo funcionando en aplicaciones y no hay problema. Para descargar un archivo llama a: Para subir una archivo al servidor FTP llama a: Las funciones son personales.... no son para que las copies y ya tenga que funcionar, mirar a ver que modificaciones teneis que .hacer, pero ese código funciona perfectamente. aunque no entiendo en la parte que dices:.
StrRutalocalFichero = "BD.zip" BD.zip es el archivo que subo y bajo del servidor FTP y se encuentra en la ruta que indico .... imagina que pone C:\archivo.zip. En MI caso el archivo BD.zip se encuentra en el mismo directorio donde ejecuto la aplicación, es por eso que no hay más ruta.
|
|
|
En línea
|
ups!!
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Descargar c++
Programación C/C++
|
RedZer
|
7
|
7,126
|
30 Enero 2011, 20:08 pm
por RedZer
|
|
|
Descargar AndEngine
Dudas Generales
|
Bledniss
|
0
|
5,227
|
25 Agosto 2011, 12:16 pm
por Bledniss
|
|
|
descargar asm
ASM
|
Stuxnet
|
1
|
4,247
|
21 Septiembre 2011, 09:01 am
por Eternal Idol
|
|
|
Descargar DLL
Programación C/C++
|
Cromatico
|
0
|
1,598
|
22 Septiembre 2013, 07:00 am
por Cromatico
|
|
|
Descargar de Atresmedia.
Foro Libre
|
beholdthe
|
0
|
1,416
|
13 Mayo 2014, 00:13 am
por beholdthe
|
|