Edit

Share via


HttpServerUtility.MapPath(String) Method

Definition

Returns the physical file path that corresponds to the specified virtual path.

public:
 System::String ^ MapPath(System::String ^ path);
public string MapPath (string path);
member this.MapPath : string -> string
Public Function MapPath (path As String) As String

Parameters

path
String

The virtual path in the Web application.

Returns

The physical file path on the Web server that corresponds to path.

Exceptions

The current HttpContext is null.

-or-

path is a physical path, but a virtual path was expected.

Examples

The following example shows how to retrieve the physical file of a relative virtual path. The code resides in the code-behind file for a web page and utilizes the default Server object.

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

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim pathToFiles = Server.MapPath("/UploadedFiles")
    End Sub
End Class

The next example is similar to the previous example except it shows how to retrieve a physical path from within a class that is not in the code-behind file.

public class SampleClass
{
    public string GetFilePath()
    {
        return HttpContext.Current.Server.MapPath("/UploadedFiles");
    }
}
Public Class SampleClass
    Public Function GetFilePath() As String
        Return HttpContext.Current.Server.MapPath("/UploadedFiles")
    End Function
End Class

Remarks

If path is null, the MapPath method returns the full physical path of the directory that contains the current request for the path. The relative path does not need to specify an existing file or folder for this method to return a value. However, you cannot specify a path outside of the Web application.

Important

The MapPath method potentially contains sensitive information about the hosting environment. The return value should not be displayed to users.

A Web application that resides at C:\ExampleSites\TestMapPath would return the following results:

Request from path Returned value
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

Applies to