%@ language = VBScript %>
<%
'--------------------------------------------------------------------------------------------
' LisFiles.Asp
'
' By Herman Liu
'
' This ASP is to list the files under a designated directory ready for download. File names
' are streamlined in uniform upper and lower cases, and sorted in an ascending order. Page
' navigational buttons will avail themselves when there are more than one pages, and will be
' appropriately updated as and when the user switches between pages, e.g. either "Next" or
' "Previous" if there are only two pages, additional "First" and/or "Last" if more than two.
' During browsing, a user can select any file for download by clicking on its name.
'
'--------------------------------------------------------------------------------------------
%>
<%
Option Explicit
On Error Resume Next
Response.buffer = true
DIM objFSO, objFolder, objFilesInFolder
DIM arrFiles(), mFileCount, mPageSize, mPageNo, mPageCount
DIM mDirPath, mFileSpec, mFile, mTemp
DIM mServerName
DIM i, j, k, s0, s1
Dim mDownloadDir, mHttpPath
' Change as appropriate to your needs
mPageSize = 9999
' Change to the actual directory name you have
mDownloadDir = "WayPoints"
' mDownloadDir should be one subdirectory down from where this page resides, e.g.
' if this page is on C:\InetPub\Wwwroot, your dir is C:\InetPub\Wwwroot\Downloads.
' The page should of course be in a directory that is defined as the home
' or a virtual directory.
mDirPath = server.mapPath(".") & "\" & mDownloadDir
'-----------------------------------------------
' Following the earlier remarks, if C:\Inetpub\wwwroot is home directory,
'and this page is in C:\InetPub\Wwwroot, the URL should be
'-----------------------------------------------
mHttpPath = mDownloadDir & "/"
'-----------------------------------------------
' but if this page is not in the home or a virtual directory
'(e.g,. on PWS, the page may be in C:\InetPub\Webpub but C:\Inetpub\wwwroot is
'defined as the home directory), then you need to adjust:
'-----------------------------------------------
' mHttpPath = "/WebPub/" & mDownloadDir & "/"
' Instances of object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(mDirPath)
Set objFilesInFolder = objFolder.Files
mFileCount = objFilesInFolder.Count
IF mFileCount = 0 Then
Response.write "No existen archivos para descargar."
Set objFSO = Nothing
Set objFolder = Nothing
Set objFilesInFolder = Nothing
Response.End
End If
' Two dimension array, for File Name and Size columns (entry for Description
' column not provided here)
ReDim arrFiles(mFileCount-1, 2)
' Store file name, size info to array
i = 0
For Each mFile In objFilesInFolder
' First char upper, rest lower case, for display purposes only
mTemp=UCASE(LEFT(mFile.Name,1)) & LCASE((RIGHT(mFile.Name, LEN(mFile.Name) -1)))
arrFiles(i, 0) = mTemp
' Fill file size
arrFiles(i, 1) = mFile.Size
' Fill file date
arrFiles(i, 2) = mFile.DateLastModified
i = i + 1
Next
' Sort array by file name
For i = 0 To UBOUND(arrFiles)-1
k = i
s0 = arrFiles(i, 0)
s1 = arrFiles(i, 1)
s2 = arrFiles(i, 2)
For j = i + 1 To UBound(arrFiles)
If StrComp(arrFiles(j, 0), s0, vbTextCompare) < 0 Then
s0 = arrFiles(j, 0)
s1 = arrFiles(j, 1)
s2 = arrFiles(j, 2)
k = j
End If
Next
arrFiles(k, 0) = arrFiles(i, 0)
arrFiles(k, 1) = arrFiles(i, 1)
arrFiles(k, 2) = arrFiles(i, 2)
arrFiles(i, 0) = s0
arrFiles(i, 1) = s1
arrFiles(i, 2) = s2
Next
%>
Velero Olaje Waypoints
WayPoints
Si quieres enviarnos tus ficheros para compartirlos con los visitantes de la web, hazlo por e-mail
Total: <%= cStr(mFileCount) %>
archivos.  
  Nombre de Archivo
Bytes
Ult. Modificación
<%
FOR i = 0 To mFileCount-1
'-------------------------------------------------------------------
' To form an URL which will be used as an anchor tag for file name
'-------------------------------------------------------------------
mTemp = mHttpPath & arrFiles(i, 0)
%>