次の方法で共有


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

注釈

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

適用対象