HttpServerUtility.MapPath(String) 方法

定义

返回与指定虚拟路径相对应的物理文件路径。

public string MapPath (string path);

参数

path
String

Web 应用程序中的虚拟路径。

返回

String

对应于 path 的 Web 服务器上的物理文件路径。

例外

当前的 HttpContextnull

  • 或 - path 是物理路径,但应为虚拟路径。

示例

以下示例演示如何检索相对虚拟路径的物理文件。 代码驻留在网页的代码隐藏文件中,并利用默认 Server 对象。

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string pathToFiles = Server.MapPath("/UploadedFiles");
    }
}

下一个示例类似于上一个示例,只不过它演示如何从不在代码隐藏文件中的类中检索物理路径。

public class SampleClass
{
    public string GetFilePath()
    {
        return HttpContext.Current.Server.MapPath("/UploadedFiles");
    }
}

注解

null如果是path,该方法MapPath返回包含路径当前请求的目录的完整物理路径。 相对路径不需要为此方法指定现有文件或文件夹以返回值。 但是,不能指定 Web 应用程序外部的路径。

重要

该方法 MapPath 可能包含有关托管环境的敏感信息。 不应向用户显示返回值。

驻留在 C:\ExampleSites\TestMapPath 以下位置的 Web 应用程序将返回以下结果:

请求来自 path 返回值
RootLevelPage.aspx null C:\ExampleSites\TestMapPath
RootLevelPage.aspx “/DownOneLevel/DownLevelPage.aspx” C:\ExampleSites\TestMapPath\DownOneLevel\DownLevelPage.aspx
RootLevelPage.aspx “/NotRealFolder” C:\ExampleSites\TestMapPath\NotRealFolder
RootLevelPage.aspx "../OutsideApplication” HttpException
/DownOneLevel/DownLevelPage.aspx null C:\ExampleSites\TestMapPath\DownOneLevel
/DownOneLevel/DownLevelPage.aspx "../RootLevelPage.aspx” C:\ExampleSites\TestMapPath\RootLevelPage.aspx

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8