He desarrollado una página segura en ASP para la empresa para la que trabajo. Hay un aterrizaje (página de inicio de sesión) que una vez que se autentica se lo lleva a una página que tiene enlaces a varias páginas secundarias. Cada subpagina tiene una estructura de carpeta. Por ejemplo: hay un encabezado para Minutas de la reunión y luego debajo y sangría son enlaces que hacen referencia a archivos PDF que contienen la información. Puede haber 3 o 4 encabezados con documentos vinculados debajo.Enumerar una estructura de carpetas en ASP clásico
La versión original tenía un script PHP que se ejecutaba y sincronizaba el sitio en vivo en el servidor desde una estructura de carpetas que se imitaría en el sitio en vivo. Entonces, si tuviera una carpeta llamada Carpeta1 y subcarpetas llamadas test1 test2 test3 ... el sitio en vivo las mostraría en consecuencia. Como el sitio ahora está en ASP y no en PHP ... el script PHP ya no funciona (ya que PHP no funciona bien con ASP).
Encontré un fragmento en línea que funciona de alguna manera para lo que estoy tratando de lograr (es decir, carpeta/subcarpeta/estructura de nombre de archivo), sin embargo estoy atascado en este momento con cómo vincular los archivos para que se abran al hacer clic . Sigo viendo un% 25 en el nombre del archivo. Sé que% 20 es lo mismo que un espacio en blanco y como estoy tratando con nombres de archivos y carpetas que contienen espacios, este parece ser mi problema. Intenté agregar un% 20 pero los espacios se convierten en "% 2520".
Si mira el siguiente código, hay un enlace hacia la parte inferior que llama "MapURL". Tengo ese enlace comentado en este momento ya que estaba tratando de averiguar de dónde venía el% 25. ¿Alguien tiene alguna idea sobre cómo hacer que los enlaces funcionen?
Aquí está el fragmento.
dim path
path = "PATH TO THE FOLDER ON THE SERVER"
ListFolderContents(path)
sub ListFolderContents(path)
dim fs, folder, file, item, url
set fs = CreateObject("Scripting.FileSystemObject")
set folder = fs.GetFolder(path)
'Display the target folder and info.
Response.Write("<ul><b>" & folder.Name & "</b>") '- " _
' & folder.Files.Count & " files, ")
'if folder.SubFolders.Count > 0 then
' Response.Write(folder.SubFolders.Count & " directories, ")
'end if
'Response.Write(Round(folder.Size/1024) & " KB total." _
' & "</ul>" & vbCrLf)
Response.Write("<ul>" & vbCrLf)
'Display a list of sub folders.
for each item in folder.SubFolders
ListFolderContents(item)
next
'Display a list of files.
for each item in folder.Files
'url = MapURL(item.path)
'Response.Write("<li><a href=" & url & ">" & item.Name & "</a> - " _
Response.Write("<li><a href=" & Replace(item.path," ","%") & ">" & item.Name & "</a> - " _
& item.Name & "</a>" _
& "</li>" & vbCrLf)
next
Response.Write("</ul>" & vbCrLf)
Response.Write("</ul>" & vbCrLf)
end sub
function MapURL(path)
dim rootPath, url
'Convert a physical file path to a URL for hypertext links.
rootPath = Server.MapPath("/")
url = Right(path, Len(path) - Len(rootPath))
MapURL = Replace(url, "\", "/")
end function
Gracias Rodolfo! Eso lo hizo. Apreciar la respuesta rápida! – Nick