经典ASP在服务器上打开目录

时间:2011-10-17 10:15:57

标签: asp-classic

我想通过链接打开位于服务器上的目录。 我的问题是它在.htm页面中完美运行,但在.asp页面中却没有。 这是我使用的:

<a href="file://server/folder/folder/folder" target="_blank">Foldername</a>

我尝试在文件后使用3或5个斜杠:但结果相同。 我发现没有结果的另一件事是:

<a href="file://server/folder/folder" onclick="window.open(this.href, 'popupwindow', 'width=400,height=300,scrollbars,resizable'); return false;">Link</a>

在尝试用html解决之后我在asp中尝试了以下内容:

<%
str_url="file://server/folder/folder"
Response.Write("<script>") 
Response.Write("window.open('" & str_url & "', 'myWin','height=800,width=1024,status=yes,toolbar=yes,menubar=yes,location=yes,resizable=yes,scrollbars=yes');") 
Response.Write("</script>")
%>

但经过多次尝试让事情发生后,我仍然在撞墙。这可能是IIS7中的禁用功能吗?或者我错过了什么?

提前致谢

2 个答案:

答案 0 :(得分:1)

file:// style链接仅适用于您本地计算机,您无法使用该方法在远程服务器上打开文件夹。 (除非该路径可以从您的本地计算机,服务器共享或某些人访问),否则

答案 1 :(得分:0)

显示目录的一些示例代码:

<table cellspacing="0">
    <tr>
        <th style="width: 25px">&nbsp;</th>
        <th>Document</th>
        <th style="width: 60px">Size</th>
    </tr>
    <%
    Dim iCounter, iFileSize
    Dim oFS, oFL
    Dim sDirectory

    sDirectory = "directory/you/want"
    iCounter = 0

    Set oFS = Server.CreateObject("Scripting.FileSystemObject")
    Set oFL = oFS.GetFolder(Server.MapPath(sDirectory))

    For Each oF In oFL.Files
        iCounter = iCounter + 1

        iFileSize = FormatNumber(CLng(oF.Size) / 1024 / 1024, 2)
    %>
    <tr>
        <td><%=iCounter %>.</td>
        <td><a href="<%=sDirectory %>/<%=oF.Name %>" target="_blank"><%=oF.Name %></a></td>
        <td><%=iFileSize %> MiB</td>
    </tr>
    <%
    Next
    %>
</table>