Ver Mensaje Individual
  #15 (permalink)  
Antiguo 22/12/2008, 08:46
haga41
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Gracias por responder tan pronto,

Creo que cada vez me lio más yo solo pero bueno.
Si lo he entendido bien la función que me has puesto en el último mensaje sirve para desplegar mediante FSO los archivos que he subido en el formulario de la página anterior, que en mi caso serían fichero y fichero2. Pero de momento para hacerlo más sencillo pongamos que sólo puedo subir uno cuyo id y name es fichero.

Según veo la función ListFolderContents comprobaría la carpeta en la que se guardan los archivos que acabo de subir. Es decir primero iría el Guardar o GuardarComo que hemos dicho antes y una vez prefijada una ruta, el ListFolderContents buscaría en ella el fichero que acabamos de subir. En acaso de que lo hayamos subido nos mostraría sus características en una tabla, si no lo hemos subido nos mostraría el mensaje "Este archivo no se ha subido." en una tabla. Es decir según he entendido, creo que algo se me ha escapado pero bueno sería algo así.

Código:
<!--#include file="includes/xelupload.asp"-->
     <%
        id = session("id")
        'Primero subimos el fichero:'
        Dim up, obj
        set up = new xelUpload
        up.Upload()            
        
set obj = up.Ficheros("fichero")      
nombreFoto=obj.nombre


obj.GuardarComo nombreFoto, Server.MapPath("caratulas/") 
ListFolderContents(nombreFoto.Server.MapPath("caratulas/"))
       %>
La función ListFolderContents la llamo desde ahí porque la he incluido como Public justo antes del End class en el xelupload.asp.

Cuando ejecuto esto, subiendo el archivo 262.jpg, me da un error diciendo:

Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: '262.jpg'
/pelis2/registrarficha.asp, línea 24


Es decir, el archivo se guarda perfectamente con ese nombre en su carpeta correspondiente pero el ListFolderContents no me lo reconoce si se lo escribo así, a pesar de que existe una archivo 262.jpg en la carpeta que está buscando. De todas formas si entiendo bien como funciona lo que estoy intentando, no se si la función ListFolderContents sirve para comprobar si se ha subido un fichero o no, ya que tal y como está ahora si no subo ningún fichero me da error bastante antes de poder usar esa función justo en al línea de "set obj = up.Ficheros("fichero") " quizás necesite algo tipo: if exists (up.Ficheros("fichero") then o algo así.

He probado el código usé antes adaptado y consigue arreglarme el problema si sólo subo un fichero, pero tal y como está no me sirve para guardar 2 ficheros en 2 carpetas seleccionadas, este es el código:
Código PHP:
     <%
        
id session("id")
        
'Primero subimos el fichero:
        Dim up, obj
        set up = new xelUpload

        up.Upload()
        ficheroSeleccionado = False
        
        For each obj in up.Ficheros.Items
        '
Para guardarlo
            ficheroSeleccionado 
True
            nombreFoto
=obj.nombre
            Con el nombre de fichero original
:
            
obj.GuardarComo nombreFotoServer.MapPath("caratulas/")         
        
Next
   
%>