18 sept 2007

Listar los Archivos de una Carpeta en ASP

Hola !! Les presento una funcion de ASP que utiliza el objeto Scripting.FileSystemObject para obtener el contenido de un directorio y construir un listado de archivos con sus respectivos URL de descarga, al final les coloco el link de la funcion original.

Funcion


sub ListFolderContents(path,webpath)

dim fs, folder, file, item, url

set fs = CreateObject("Scripting.FileSystemObject")
set folder = fs.GetFolder(path)


on error resume next
'Despliega la informacion del Folder

Response.Write("<li><b>" & folder.Name & "</b> - " _
& folder.Files.Count & " Arch. ")
Response.Write("</li>" & vbCrLf)

Response.Write("<ul>" & vbCrLf)

'Display a list of sub folders.

for each item in folder.SubFolders
ListFolderContents(item.Path)
next

'Despliega una lista de archivos.

for each item in folder.Files
url = webpath&item.Name
filesize = round(item.Size/1024,2)
Response.Write("<li><a href=""" & url & """>" _
& item.Name & "</a> - " _
& filesize & " Kb </li>" & vbCrLf)
next

Response.Write("</ul>" & vbCrLf)

end sub

Llamada de la Funcion:


'-----------------------------------------------
'Funcion: ListFolderContents(path,webpath)
'path = Direccion FISICA del Directorio, se usa para leer el contenido
'webpath = Direccion WEB del directorio VIRTUAL dentro de la aplicacion, se usa para construir el URL de descarga
'colocar el nombre del directorio virtual
'-----------------------------------------------
'debe de colocar el Path FISICO de la carpeta donde se encuentran los archivos
ListFolderContents "C:\VHur\documentos","./documentos/"


Solo le deben de indicar la ruta FISICA del directorio y el PATH relativo para que se puedan descargar los archivos.

NOTA: si el directorio esta fuera de la carpeta del sitio, deberan de crear un directorio virtual para que los usuarios puedan accesar a su contenido.

Fuente

3 comentarios:

RockChatNoir dijo...

Gracias, muy útil!

Hector dijo...

Muy bueno !!
Gracias

Anónimo dijo...

Excelente, es un código que tiene mil usos... gracias!