Server.MapPath() 错误 ✀ASP 0171 : 80004005✀ 缺少路径 ⼀2xy⼀yz_mgr⼀upload.asp,行 40 必须为 MapPath

2025-06-21 14:02:42
推荐回答(1个)
回答1:

你是虚拟路径和物理路径没弄明白的问题
MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

示例
对于下列示例,文件 data.txt 和包含下列脚本的 test.asp 文件都位于目录 C:\Inetpub\Wwwroot\Script 下。C:\Inetpub\Wwwroot 目录被设置为服务器的宿主目录。

下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。脚本

<%= server.mappath(Request.ServerVariables("PATH_INFO"))%>


输出

c:\inetpub\wwwroot\script\test.asp


由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:\Inetpub\Wwwroot\Script。脚本

<%= server.mappath("data.txt")%>

<%= server.mappath("script/data.txt")%>


输出

c:\inetpub\wwwroot\script\data.txt

c:\inetpub\wwwroot\script\script\data.txt


接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本

<%= server.mappath("/script/data.txt")%>

<%= server.mappath("\script")%>


输出

c:\inetpub\script\data.txt

c:\inetpub\script


下列示例演示如何使用正斜杠 (/) 或反斜杠 (\) 返回宿主目录的物理路径。脚本

<%= server.mappath("/")%>

<%= server.mappath("\")%>


输出

c:\inetpub\wwwroot

c:\inetpub\wwwroot