1

我最近有一个项目,在任何地方都找不到简单的代码..希望这对某人有所帮助!确保为文件夹上的 IIS 应用程序帐户设置 NTFS 权限。使用 file:// 表示文件 http:// 表示直接链接,其他表示相对链接。

<%
dim fs,fo,x
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fo=fs.GetFolder("C:\Path")

for each x in fo.files
Response.Write("<a href=file:///" &x & ">" & x & "</a>" & "</br>")
next

set fo=nothing
set fs=nothing
%> 
4

2 回答 2

1

我找到了你的帖子,它对我很有用。我对其进行了一些更改,并想将其发布在这里,以防其他人也发现这很有用。由于我在本地设置 IIS 的方式以及在服务器上设置它的方式不同,因此在上传到服务器与在本地运行时,我必须取消/注释一些行。请记住,我是前端人员,这是我第一次编写这样的代码,所以请提供反馈:)

<%
    'Dim previewURL As String = "http://XXXXXX/"'Preview
    Dim previewURL As String = ""'Local

    'Dim site As String = "XXXXX"'Preview
    Dim site As String = ""'Local

    Dim currentDir As String = HttpContext.Current.Request.PhysicalApplicationPath.ToString()+site+"\web"

    Dim di As New IO.DirectoryInfo(currentDir)

    Dim diar1 As IO.FileInfo() = di.GetFiles("*.html")', IO.SearchOption.AllDirectories)'change this line if you want sub directories as well

    Dim dra As IO.FileInfo

    Response.Write("<h1>HTML Pages</h1>")
    Response.Write("<ul>")

    'list the names of all files in the specified directory
    For Each dra In diar1
        Response.Write("<li><a href="+previewURL+site+"/web/"+dra.Name+" target=_blank>"+dra.Name+"</a></li>")
    Next

    Response.Write("</ul>")
%>
于 2013-05-21T15:43:24.307 回答
0

对此提供另一种解决方案。
对于某些人可能会被绑定到其文件的显式位置但不想处理未正确链接的网站的情况。

本质上,我们遍历给定目录中的所有文件,然后使用GetFileName(). 然后我们利用根目录/href指向我们想要的文件。然后,用户可以从那里下载他们需要的东西。

<%
dim fs,fo,x
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fo=fs.GetFolder("C:\Folder0\Folder1\Folder2\main\reports\archive")

for each x in fo.files
        x = fs.GetFileName(x)
        Response.Write("<a href=/main/reports/archive/" & x & " target=_blank>" & x & "</a>" & "</br></br>")
next

set fo=nothing
set fs=nothing
%>

于 2019-11-20T00:01:57.813 回答