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

Visualizar el contenido de un directorio con ASP

Estas en el tema de Visualizar el contenido de un directorio con ASP en el foro de ASP Clásico en Foros del Web. Pues eso, me gustaria poder Visualizar el contenido de un directorio. Este directorio tiene permisos de escritura y es el que utilizo para que otros ...
  #1 (permalink)  
Antiguo 11/05/2002, 05:56
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
Visualizar el contenido de un directorio con ASP

Pues eso, me gustaria poder Visualizar el contenido de un directorio.

Este directorio tiene permisos de escritura y es el que utilizo para que otros usuarios envien ficheros usando el componente ASPsmartUpload.

Lo que quiero no es solo que se vean los fichero que se han enviado, sino que tambien esten "vinculados", es decir que si hago un click en uno de ellos comienze una descarga o apertura.

Gracias.
  #2 (permalink)  
Antiguo 11/05/2002, 12:12
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Visualizar el contenido de un directorio con ASP

Bueno no cuento con el código pero tienes que investigar acerca del FileSystem Object. Con eso lograrás hacer lo que quieres.


Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #3 (permalink)  
Antiguo 11/05/2002, 15:16
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Visualizar el contenido de un directorio con ASP

Ya habia dejado un código aqui con anterioridad, aqui lo vuelvo a poner para que no tardes en buscarlo... lo dejo en partes, solo juntalo en una sola página y ponle el nombre que gustes

Saludos

Código:
  

&lt;title&gt;
Información de [ &lt;%=Request.ServerVariables(&quot;SERVER_NAME&quot;)%&gt;]
&lt;/title&gt;
  #4 (permalink)  
Antiguo 11/05/2002, 15:17
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Visualizar el contenido de un directorio con ASP

Código:
  &lt;%
If Request.ServerVariables(&quot;HTTPS&quot;) = &quot;off&quot; then ' off for example only
 Dim MyFSO, MyFiles, MySelf, MySelfTemp
 Dim MyPhysPath, MyRootPath, MyURLPath
 MySelf = Request.ServerVariables(&quot;SCRIPT_NAME&quot;)
 MyRootPath = Server.MapPath(MySelf)
 MySelfTemp = Replace(MySelf, &quot;/&quot;, &quot;\&quot;)
 MyRootPath = Replace(MyRootPath, MySelfTemp, &quot;\&quot;)
 Set MyFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
 
 MyPhysPath = Request(&quot;MyPhysPath&quot;)
 If MyPhysPath = &quot;&quot; then
  MyPhysPath = MyRootPath
 Else
  MyPhysPath = MyPhysPath &amp;&quot;\&quot;
 End if
  #5 (permalink)  
Antiguo 11/05/2002, 15:19
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Visualizar el contenido de un directorio con ASP

Código:
  Set MyFiles = MyFSO.GetFolder(MyPhysPath)
 MyDirName = MyFiles.Name
 MyURLPath = Replace(MyPhysPath, MyRootPath, &quot;/&quot;)
 MyURLPath = Replace(MyURLPath, &quot;\&quot;, &quot;/&quot;)
 
 Response.Write &quot;&lt;style type=text/css&gt;&quot;&amp; vbCrLf
 Response.Write &quot;td { font-size:11px; font-family: verdana, arial; font-weight: normal; color: #666666; background-color: #ffffff; }&quot;&amp; vbCrLf
 Response.Write &quot;a { font-size:11px; font-family: verdana, arial; font-weight: bold; color: #003366; }&quot;&amp; vbCrLf
 Response.Write &quot;&lt;/style&gt;&quot;

Response.Write &quot;&lt;table border=0 cellspacing=1 cellpadding=5 align=center bgcolor=#cccccc&gt;&quot;&amp; vbCrLf
 Response.Write &quot;&lt;tr&gt;&lt;td colspan=3&gt;&lt;b&gt;Sitio:&lt;/b&gt; &quot;&amp; Request.ServerVariables(&quot;SERVER_NAME&quot;) &amp;&quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
 Response.Write &quot;&lt;tr&gt;&lt;td colspan=3&gt;&lt;b&gt;Directorio Virtual:&lt;/b&gt; &quot;&amp; MyURLPath &amp;&quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
 Response.Write &quot;&lt;tr&gt;&lt;td colspan=3&gt;&lt;b&gt;Directorio Fisico:&lt;/b&gt; &quot;&amp; MyPhysPath &amp;&quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
 
 Response.Write &quot;&lt;tr&gt;&lt;td colspan=3&gt;&quot;&amp; vbCrLf

Response.Write MyFileNum &amp;&quot; Archivos y &quot;&amp; MySubNum &amp;&quot; Sub Directorio en el Directorio Actual&lt;br&gt;&lt;br&gt;&quot;&amp; vbCrLf
 

 Response.Write &quot;&lt;a href='&quot;&amp; MySelf &amp;&quot;'&gt;Directorio del Servidor Remoto&lt;/a&gt;&lt;br&gt;&lt;p&gt;&quot;&amp; vbCrLf
 Response.Write &quot;&lt;a href=javascript:history.go(-1);&gt;Atras&lt;/a&gt;&lt;br&gt;&quot;&amp; vbCrLf
 Response.Write &quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf

Response.Write &quot;&lt;tr&gt;&lt;td colspan=3&gt;&lt;a href='&quot;&amp; MySelf &amp;&quot;?Display=SerVars'&gt;Información del Servidor...&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
 
 Display = Request(&quot;Display&quot;)
 Select Case Display
  Case &quot;SerVars&quot;: SerVarsNFO()
  Case Else: 
   DisplayFolders()
   DisplayFiles()
 End Select

Public Function SerVarsNFO()
  For Each Item in Request.ServerVariables
   Response.Write &quot;&lt;tr&gt;&lt;td&gt;&quot; &amp; Item &amp; &quot;&lt;/td&gt;&lt;td colspan=2&gt;&amp;nbsp;&quot; &amp; Request.ServerVariables(Item) &amp; &quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
  Next
 End Function
  #6 (permalink)  
Antiguo 11/05/2002, 15:22
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Visualizar el contenido de un directorio con ASP

Código:
  

Public Function DisplayFolders()
  Response.Write  &quot;&lt;tr&gt;&lt;td colspan=2 style='background-color:#cfcfcf;'&gt;Nombre del Sub Directorio&lt;/td&gt;&lt;td style='background-color:#cfcfcf;'&gt;Sub Dir Size (Bytes)&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
  MySubNum = 0
  For Each Folder in MyFiles.SubFolders
   Dim MyCurrentSub, MySubSize, MySubName
   Set MyCurrentSub = MyFSO.GetFolder(Folder)
   MySubNum = MySubNum+1
   MySubSize = MyCurrentSub.Size
   MySubName = MyCurrentSub.Name
   MyDirURL = MySelf &amp;&quot;?MyPhysPath=&quot;&amp; MyPhysPath &amp; MySubName
   Response.Write &quot;&lt;tr&gt;&lt;td colspan=2&gt;&lt;img src=folder.gif border=0 align=absolutemiddle&gt;&amp;nbsp;&lt;a href='&quot;&amp; MyDirURL &amp;&quot;'&gt;&quot;&amp; MySubName &amp;&quot;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&quot;&amp; MySubSize &amp;&quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
   Set MyCurrentSub = Nothing
  Next
 End Function
 
 Public Function DisplayFiles()
  Response.Write  &quot;&lt;tr&gt;&lt;td style='background-color:#cfcfcf;'&gt;Nombre Archivo&lt;/td&gt;&lt;td style='background-color:#cfcfcf;'&gt;Tipo de Archivo&lt;/td&gt;&lt;td style='background-color:#cfcfcf;'&gt;Tamaño del Archivo (Bytes)&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
  MyFileNum=0
  For Each File in MyFiles.Files
   Dim MyCurrentName, MyFileNum, MyFileSize, MyFileName
   Set MyCurrentName = MyFSO.GetFile(File)
   MyFileNum = MyFileNum+1
   MyFileSize = MyCurrentName.Size
   MyFileName = MyCurrentName.Name
   MyFileType = MyCurrentName.Type
   MyFileURL = Replace(MyPhysPath, MyRootPath, &quot;/&quot;)
   MyFileURL = Replace(MyFileURL, &quot;\&quot;, &quot;/&quot;)
   MyFileURL = MyFileURL &amp; MyFileName
  #7 (permalink)  
Antiguo 11/05/2002, 15:23
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Visualizar el contenido de un directorio con ASP

Código:
    ' MyFileURL = Server.URLEncode(MyFileURL) messes up the code, i already tried =(
   Response.Write &quot;&lt;tr&gt;&lt;td&gt;&lt;img src=file.gif border=0 align=absolutemiddle&gt;&amp;nbsp;&lt;a href='&quot;&amp; MyFileURL &amp;&quot;'&gt;&quot;&amp; MyFileName &amp;&quot;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&quot;&amp; MyFileType &amp;&quot;&lt;/td&gt;&lt;td&gt;&quot;&amp; MyFileSize &amp;&quot;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
   Set MyCurrentName = Nothing
  Next
 End Function
 
 Response.Write &quot;&lt;tr&gt;&lt;td colspan=3&gt;&lt;b&gt;My IIS Admin Explorer.v1.0 Owen Bonilla&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&quot;&amp; vbCrLf
 Response.Write &quot;&lt;/table&gt;&quot;&amp; vbCrLf
 Set MyFSO = Nothing
Else
 Response.Write &quot;Esta es una página segura!&lt;br&gt;Por Favor Use https:// Protocolo!&quot;
End If
%&gt;

Aqui ´termina el código... espero y te funcione....

Saludos



Owen Bonilla
Webmaster Weblaguna S. C.
[email protected]
[email protected]

  #8 (permalink)  
Antiguo 11/05/2002, 17:54
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
Re: Visualizar el contenido de un directorio con ASP

Muchas Gracias OWEN, el codigo me ha venido de perlas para lo que necesitaba, es mas, me ha facilitado tambien mucha informacion para comprender algunos objetos que no conocia, puedes ver un ejemplo de lo que he hecho con <a href='ir.asp?http://www.expansionweb.net/upload/' target='_blank'>http://www.expansionweb.net/upload/...</a>

Estoy afinandolo para adaptarlo a lo que yo queria pero ya te digo que me ha venido perfecto.
Gracias por la prontitud de la respuesta.

Jose MariaFernandez
[email protected]
Http://www.expansionweb.net
  #9 (permalink)  
Antiguo 11/05/2002, 18:50
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
Re: Visualizar el contenido de un directorio con ASP

Jejejee, pero ahora tengo otro problema, es este:

Cuando me muestra los directorios y archivos lo hace del web raiz, yo queria que unicamente me los mostrara del directorio upload, que estaria situado asi http://www.expansionweb.net/upload

o bien siguiendo la ruta fisica del servidor asi: e:\dom\fgj101\wwwserver\expansionweb.net\upload\

Pues he tocado algunas variables como MyRootPath = Server.MapPath(MySelf) cambiandolo por
MyRootPath = e:\dom\fgj101\wwwserver\expansionweb.net\upload\
Con eso me muestra el directorio que yo quiero pero se confunde al crear los hypervinculos que en vez de quedar como deberia ser, es decir asi:
http://www.expansionweb.net/upload/Backgrnd.gif
Me los simplifica de esta forma:
http://www.expansionweb.net/Backgrnd.gif

Es decir que se merienda de la ruta el directorio UPLOAD.

Voy a seguir investigando y probablemente encuentre la cadena de la variable a modificar para cambiarle el PATH, pero si aun asi te ha ocurrido y sabes como se puede solucionar lo agradeceria.

Saludos.

NOTA: El script esta retirado puesto que al no poder controlar el listado de directorios compromete la seguridad del web. Gracias de todas formas OWEN

Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #10 (permalink)  
Antiguo 14/05/2002, 11:46
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Visualizar el contenido de un directorio con ASP

Que bueno que te sirvio el código Amigo.

la verdad nuca habia pensado en cambiarle el la ruta al código pero es buena idea , memeteria unpoco en eso, pero l averdad ando en otras cosas de la escuela y eltrabajo ( sistemas ).

Si logras encontrar lamanera de que se solucione eso de los vinculos seria excelente, nos avisas y dices como lo hiciste .

Saludos.. y aquí andamos !!! :)

Owen Bonilla
Webmaster Weblaguna S. C.
[email protected]
[email protected]

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 05:16.