Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/08/2008, 15:02
Avatar de OceanBorn
OceanBorn
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 16 años, 8 meses
Puntos: 0
Sonrisa Respuesta: Error en Upload ASP

Cita:
Iniciado por tammander Ver Mensaje
Como te he dicho antes, MapPath sirve para averiguar el path físico desde un path relativo, con lo cual si ya tienes el path físico no necesitas usar MapPath:


Count= Upload.Save("c:\clients\misitio\data\carpetaconpermisos")
' Instanciamos el objeto
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
' Asignamos el fichero a renombrar a la variable fich
Set Fich = FSO.GetFile("c:\clients\misitio\data\carpetaconpermisos\" & NombreAnterior)
' llamamos a la funcion copiar,
'y duplicamos el archivo pero con otro nombre
Call Fich.Copy("c:\clients\misitio\data\carpetaconpermisos\" & NombreNuevo)
' finalmente borramos el fichero original

En caso de que no supieras donde esta dicho path, si usaria MapPath. Por ejemplo, imagina que ese código esta en un script que cuelga de c:\clients\misitio\ entonces si usaria MapPath:

dirData = Server.MapPath("data/carpetaconpermisos")

Count= Upload.Save(dirData)
' Instanciamos el objeto
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
' Asignamos el fichero a renombrar a la variable fich
Set Fich = FSO.GetFile(dirData & "\" & NombreAnterior)
' llamamos a la funcion copiar,
'y duplicamos el archivo pero con otro nombre
Call Fich.Copy(dirData & "\" & NombreNuevo)
' finalmente borramos el fichero original

¿Ves la diferencia entre las dos barras invertidas? Una es típicamente de la web (hacia adelante). Es una dirección relativa. La otra (hacia atras) es la típica de Windows/MSDOS y es una dirección absoluta o física (como más rabia te dé decirlo )



Un saludo

Holas de nuevo tammander, eh visto lo que me estas brindando y me a tirado otro error, perdona mi ignoracia si sigo haciendo algo mal:
viendo lo que me decis modifique:

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Count= Upload.Save("c:/clients/misitio/data")
%>
<% = Count %> ficheros subidos.
<%
Dim FSO, Fich , NombreAnterior, NombreNuevo
'Inicialización
NombreAnterior = imagen
NombreNuevo ="Nuevo.jpg"

' Instanciamos el objeto
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
' Asignamos el fichero a renombrar a la variable fich
Set Fich = FSO.GetFile(Server.MapPath("misitio/data" & "\" & NombreAnterior))
' llamamos a la funcion copiar,
'y duplicamos el archivo pero con otro nombre
Call Fich.Copy(Server.MapPath("misitio/datadata" & "\" & NombreNuevo))
' finalmente borramos el fichero original
Call Fich.Delete()

y error es el siguiente:

1 ficheros subidos.
Microsoft VBScript runtime error '800a0035'

File not found

/without_flash/Upload_new.asp, line 27


line 27 del maldito error: Set Fich = FSO.GetFile(Server.MapPath("misitio/data" & "\" & NombreAnterior)).