Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con codigo de ftp

Estas en el tema de Ayuda con codigo de ftp en el foro de ASP Clásico en Foros del Web. tengo este codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código asp: Ver original <%@ Language=VBScript %> <% ' FTP via ASP without using 3rd-party components ' Ben Meghreblian 15th ...
  #1 (permalink)  
Antiguo 02/10/2008, 21:56
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 6 meses
Puntos: 54
Ayuda con codigo de ftp

tengo este codigo:

Código asp:
Ver original
  1. <%@ Language=VBScript %>
  2. <%
  3. ' FTP via ASP without using 3rd-party components
  4. ' Ben Meghreblian 15th Jan 2002
  5. ' benmeg at benmeg dot com / [url]http://benmeg.com[/url]
  6. '
  7. ' This script assumes the file to be FTP'ed is in the same directory as this script.
  8. ' It should be obvious how to change this (*hint* change the lcd line)
  9. ' You may specify a wildcard in ftp_files_to_put (e.g. *.txt)
  10. Dim objFSO, objTextFile, oScript, oScriptNet, oFileSys, oFile, strCMD, strTempFile, strCommandResult
  11. Dim ftp_address, ftp_username, ftp_password, ftp_physical_path, ftp_files_to_put
  12.  
  13. ' Edit these variables to match your specifications
  14. ftp_address          = "ftp.server.com"
  15. ftp_username         = "username"
  16. ftp_password         = "password"
  17. ftp_remote_directory = "subdirectory" ' Leave blank if uploading to root directory
  18. ftp_files_to_put     = "file.txt"
  19.  
  20. On Error Resume Next
  21. Set oScript = Server.CreateObject("WSCRIPT.SHELL")
  22. Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
  23. Set objFSO = CreateObject("Scripting.FileSystemObject")
  24. ' Build our ftp-commands file
  25. Set objTextFile = objFSO.CreateTextFile(Server.MapPath("test.ftp"))
  26. objTextFile.WriteLine "lcd " & Server.MapPath(".")
  27. objTextFile.WriteLine "open " & ftp_address
  28. objTextFile.WriteLine ftp_username
  29. objTextFile.WriteLine ftp_password
  30.  
  31. ' Check to see if we need to issue a 'cd' command
  32. If ftp_remote_directory <> "" Then
  33.    objTextFile.WriteLine "cd " & ftp_remote_directory
  34. End If
  35.  
  36. objTextFile.WriteLine "prompt"
  37.  
  38. ' If the file(s) is/are binary (i.e. .jpg, .mdb, etc..), uncomment the following line' objTextFile.WriteLine "binary"
  39. ' If there are multiple files to put, we need to use the command 'mput', instead of 'put'
  40. If Instr(1, ftp_files_to_put, "*",1) Then
  41.    objTextFile.WriteLine "mput " & ftp_files_to_put
  42. Else
  43.    objTextFile.WriteLine "put " & ftp_files_to_put
  44. End If
  45. objTextFile.WriteLine "bye"
  46. objTextFile.Close
  47. Set objTextFile = Nothing
  48. ' Use cmd.exe to run ftp.exe, parsing our newly created command file
  49. strCMD = "ftp.exe -s:" & Server.MapPath("test.ftp")
  50. strTempFile = "C:\" & oFileSys.GetTempName( )
  51. ' Pipe output from cmd.exe to a temporary file (Not :| Steve)
  52. Call oScript.Run ("cmd.exe /c " & strCMD & " > " & strTempFile, 0, True)
  53. Set oFile = oFileSys.OpenTextFile (strTempFile, 1, False, 0)
  54.  
  55. On Error Resume Next
  56. ' Grab output from temporary file
  57. strCommandResult = Server.HTMLEncode( oFile.ReadAll )
  58. oFile.Close
  59. ' Delete the temporary & ftp-command files
  60. Call oFileSys.DeleteFile( strTempFile, True )
  61. Call objFSO.DeleteFile( Server.MapPath("test.ftp"), True )
  62. Set oFileSys = Nothing
  63. Set objFSO = Nothing
  64. ' Print result of FTP session to screen
  65. Response.Write( Replace( strCommandResult, vbCrLf, "<br>", 1, -1, 1) )
  66. %>

Lo que necesito es eliminar en lo posible todo lo que diga fso, no importa si se modifica el codigo.

¿Alguien me ayuda?
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #2 (permalink)  
Antiguo 02/10/2008, 22:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Ayuda con codigo de ftp

Se me ocurre que abras el notepad, pegues ese código y hagás "edición -> reemplazar": fso por "" (nada, vacío)

Aunque no creo que te sirva
Entonces te pregnto... ¿Con qué propósito querés eliminar toda ocurrencia de fso?
__________________
...___...
  #3 (permalink)  
Antiguo 02/10/2008, 22:20
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 6 meses
Puntos: 54
Respuesta: Ayuda con codigo de ftp

Pues bien, aqui viene el cuento de siempre:

Mi hosting es Gratuito, y como todo hosting gratuito te quitan las cosas buenas, esta vez me han deshabilitado el FSO, solo tengo esta opcion de usar lo que me dan al alcance, y eso es la conexion ftp.

Sé que debe de haber una forma, quien sabe modificando los atributos.

PD: El motivo de esto es poder subir imágenes al servidor.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #4 (permalink)  
Antiguo 02/10/2008, 22:27
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Ayuda con codigo de ftp

ok, es que usa el FSO para crear un archivo temporal que será usado como parámetros del ftp.exe... tal vez almacenando todo ese contenido en una session lo logres, pero lo tendrías que trabajar un poco.
__________________
...___...
  #5 (permalink)  
Antiguo 02/10/2008, 22:33
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 6 meses
Puntos: 54
Respuesta: Ayuda con codigo de ftp

Mi Objeto es crear el archivo en el servidor por medio del filemanager.

Entonces comenzar creo a partir de esta linea:

Código asp:
Ver original
  1. ' Use cmd.exe to run ftp.exe, parsing our newly created command
  2. filestrCMD = "ftp.exe -s:" & Server.MapPath("test.ftp")
  3. strTempFile = "C:\" & oFileSys.GetTempName( )
  4. ' Pipe output from cmd.exe to a temporary file (Not :| Steve)
  5. Call oScript.Run ("cmd.exe /c " & strCMD & " > " & strTempFile, 0, True)
  6. Set oFile = oFileSys.OpenTextFile (strTempFile, 1, False, 0)

Y de esa forma poder colgar los ficheros del servidor
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #6 (permalink)  
Antiguo 02/10/2008, 22:38
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 6 meses
Puntos: 54
Respuesta: Ayuda con codigo de ftp

Es mas, recalco que esto recibe los datos de un multipart/form-data, lo cual cambia el escenario.

En vez de crear un archivo texto, simplemente usaria Request.Form() con los campos del multipart/form-data con unas variables que contengan el user y el pass.

¿Se lo ve viable?
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #7 (permalink)  
Antiguo 02/10/2008, 22:51
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 6 meses
Puntos: 54
Respuesta: Ayuda con codigo de ftp

Por el momento voy asi:
Código asp:
Ver original
  1. <&#37;
  2. Dim servidor, usuario, clave, directorio, archivo
  3.  
  4. servidor = "ftp.webng.com"
  5. usuario = "miusuario"
  6. clave = "miclave"
  7. directorio = Request.ServerVariables("PATH_TRANSLATED")
  8. archivo = Request.Form("archivo")
  9. %>

El problema es que no sé nucho de batch :D
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #8 (permalink)  
Antiguo 02/10/2008, 23:07
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Ayuda con codigo de ftp

Si se lo ve viable pero... siendo un hosting gratuito ¿estás seguro que tenés acceso a WSCRIPT.SHELL? Yo lo dudo, aunque espero equivocarme.
__________________
...___...
  #9 (permalink)  
Antiguo 03/10/2008, 13:50
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 6 meses
Puntos: 54
Respuesta: Ayuda con codigo de ftp

Efectivamente, no me da el acceso a Wscript.Shell, tema cerrado.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:24.