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 應用程式中的虛擬路徑。

傳回

String

網頁伺服器上對應至 path 的實體檔案路徑。

例外狀況

目前的 HttpContextnull

-或- path 是實體路徑,但必須使用虛擬路徑。

範例

下列範例示範如何擷取相對虛擬路徑的實體檔案。 程式碼位於網頁的程式碼後置檔案中,並利用預設 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

備註

如果 為 path null ,則 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

適用於