Public Class _default1
Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim objFSO, objFolder, objSubFolder, objFile, objFileProp As Object ' Create Object Variables
Dim strURIFolder, strPhysicalFolder, strExtension As String ' Create String Variables
Dim strFile, strFileType, strFileIcon As String ' Create String Variables
Const strImagePath As String = "../images/" ' Create Constant For The Image Directory Path
strURIFolder = Request.ServerVariables("SERVER_NAME") & Mid(Request.CurrentExecutionFilePath, 1, Len(Request.CurrentExecutionFilePath) - Len(Trim(LCase(Right(Request.CurrentExecutionFilePath, Len(Request.CurrentExecutionFilePath) - InStrRev(Request.CurrentExecutionFilePath, "/"))))))
strPhysicalFolder = Mid(Request.PhysicalPath, 1, Len(Request.PhysicalPath) - Len(Trim(LCase(Right(Request.PhysicalPath, Len(Request.PhysicalPath) - InStrRev(Request.PhysicalPath, "\")))))) & "root\"
objFSO = Server.CreateObject("Scripting.FileSystemObject") ' Initialize The File System Object
objFolder = objFSO.GetFolder(strPhysicalFolder) ' Set The Start Folder For The System Object
Response.Write("<table border='1' width'100%' id='tblFolders'>")
Response.Write("<tr>")
Response.Write("<td colspan='3'>Folder Listing</td>")
Response.Write("</tr>")
If Request.QueryString("subfolder") = "" Then ' If QueryString 'subfolder' String Is Empty
If objFolder.Subfolders.Count > 0 Then
Response.Write("<tr>")
Response.Write("<td colspan='2'>Folder Name</td>")
Response.Write("<td> </td>")
Response.Write("</tr>")
For Each objSubFolder In objFolder.Subfolders ' Traverse Through The File System
If Not Left(objSubFolder.Name, 1) = "_" Then ' Use The Left Function To Avoid Interation Through FrontPage Extension Folders
' Display Result On The WebPage
Response.Write("<tr>")
Response.Write("<td colspan='2'><a href='" & "http://" & strURIFolder & "?subfolder=" & objSubFolder.Name & "\" & "'>" & " " & StrConv(objSubFolder.Name, VbStrConv.ProperCase) & "</a></td>")
Response.Write("<td><IMG id=imgFolder name=" & objSubFolder.Name & " alt='" & StrConv(objSubFolder.Name, VbStrConv.ProperCase) & " (Folder)" & "' src='" & strImagePath & "folder16.png' border=0>" & "</td>")
Response.Write("</tr>")
End If ' If Not Left(objSubFolder.Name, 1) = "_" Then
Next ' Find Next File
Else ' If objFolder.Subfolders.Count > 0 Then
End If ' If objFolder.Subfolders.Count > 0 Then
Else ' If Request.QueryString("subfolder") = "" Then
' If The QueryString 'subfolder' Has A Value, Set The objFolder Object To The Full Path
objFolder = objFSO.GetFolder(strPhysicalFolder & Request.QueryString("subfolder"))
If objFolder.Subfolders.Count > 0 Then
Response.Write("<tr>")
Response.Write("<td colspan='2'>Folder Name</td>")
Response.Write("<td> </td>")
Response.Write("</tr>")
For Each objSubFolder In objFolder.Subfolders ' Traverse Through The File System
If Not Left(objSubFolder.Name, 1) = "_" Then ' Use The Left Function To Avoid Interation Through FrontPage Extension Folders
' Display Result On The WebPage
Response.Write("<tr>")
Response.Write("<td colspan='2'><a href='" & "http://" & strURIFolder & "?subfolder=" & Request.QueryString("subfolder") & objSubFolder.Name & "\" & "'>" & " " & StrConv(objSubFolder.Name, VbStrConv.ProperCase) & "</a></td>")
Response.Write("<td><IMG id=imgFolder name=" & objSubFolder.Name & " alt='" & StrConv(objSubFolder.Name, VbStrConv.ProperCase) & " (Folder)" & "' src='" & strImagePath & "folder16.png' border=0>" & "</td>")
Response.Write("</tr>")
End If 'If Not Left(objSubFolder.Name, 1) = "_" Then
Next ' For Each objSubFolder In objFolder.Subfolders
Else ' If objFolder.Subfolders.Count > 0 Then
End If ' If objFolder.Subfolders.Count > 0 Then
End If ' If Request.QueryString("subfolder") = "" Then
Response.Write("<table>")
Response.Write("Files")
For Each objFile In objFolder.Files ' Traverse Through The File System
'Get The Extension Of objFile
strExtension = Trim(LCase(Right(objFile.Path, Len(objFile.Path) - InStrRev(objFile.Path, "."))))
' Avoid Displaying Irrelevant Information
If Not Left(objFile.Name, 1) = "~" And Not Left(objFile.Name, 1) = "_" And Not LCase(objFile.Name) = "default.aspx" Then
' Get The File Name Minus The Extension And Full System Path
strFile = Mid(objFile.Path, InStrRev(objFile.Path, "\") + 1, InStrRev(objFile.Path, ".") - InStrRev(objFile.Path, "\") - 1)
' Convert The File Name To "Proper Case"
StrConv(strFile, VbStrConv.ProperCase)
objFileProp = objFSO.GetFile(objFile.path)
'Start Of Extension Selection
Select Case strExtension
Case "doc"
strFileType = "Word Document"
strFileIcon = "word16.png"
Case "xls"
strFileType = "Excel Document"
strFileIcon = "excel16.png"
Case "pdf"
strFileType = "Adobe Acrobat File"
strFileIcon = "pdf16.png"
Case Else
GoTo InvalidFile
End Select ' Select Case strExtension
End If ' If Not Left(objFile.Name, 1)........
'Display The Results On The Web Page
Response.Write("<IMG id=imgText name=" & strFile & " alt='" & StrConv(strFile, VbStrConv.ProperCase) & " (" & StrConv(strFileType, VbStrConv.ProperCase) & ")" & "' src='" & strImagePath & strFileIcon & "' border=0>" & " ")
Response.Write("<A HREF='" & "http://" & strURIFolder & "root/" & Request.QueryString("subfolder") & (objFile.Name) & "'>" & StrConv(strFile, VbStrConv.ProperCase) & "</A>" & "<BR>")
Response.Write(objFileProp.Size)
InvalidFile:
Next ' For Each objFile In objFolder.Files
' Set Objects To Nothing
objFSO = Nothing
objFolder = Nothing
objFileProp = Nothing
End Sub
End Class