HttpServerUtility.MapPath(String) メソッド

定義

指定した仮想パスに対応する物理ファイル パスを返します。

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

パラメーター

path
String

Web アプリケーションの仮想パス。

返品

pathに対応する Web サーバー上の物理ファイル パス。

例外

現在の HttpContextnull

-または-

path は物理パスですが、仮想パスが必要でした。

次の例は、相対仮想パスの物理ファイルを取得する方法を示しています。 このコードは、Web ページの分離コード ファイルに存在し、既定の Server オブジェクトを利用します。

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

次の例は前の例に似ていますが、分離コード ファイルにないクラス内から物理パスを取得する方法を示しています。

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

注釈

pathnull場合、MapPath メソッドは、パスの現在の要求を含むディレクトリの完全な物理パスを返します。 このメソッドが値を返すために、相対パスで既存のファイルまたはフォルダーを指定する必要はありません。 ただし、Web アプリケーションの外部でパスを指定することはできません。

Important

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

適用対象