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

網頁應用程式中的虛擬路徑。

傳回

網頁伺服器上的實體檔案路徑,對應於 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 為 , nullMapPath 該方法回傳包含目前路徑請求的完整實體路徑。 相對路徑不需要指定現有的檔案或資料夾,此方法也能回傳一個值。 不過,你無法在網頁應用程式外指定路徑。

重要

MapPath 方法可能包含關於主機環境的敏感資訊。 回傳值不應顯示給使用者。

一個位於 的 C:\ExampleSites\TestMapPath 網頁應用程式會回傳以下結果:

來自 path 傳回的值
RootLevelPage.aspx null C:\ExampleSites\TestMapPath
RootLevelPage.aspx 「/下一級/DownLevelPage.aspx」 C:\ExampleSites\TestMapPath\DownOneLevel\DownLevelPage.aspx
RootLevelPage.aspx 「/非真實資料夾」 C:\ExampleSites\TestMapPath\NotRealFolder
RootLevelPage.aspx "../外部應用」 HttpException
/下一級/DownLevelPage.aspx null C:\ExampleSites\TestMapPath\DownOneLevel
/下一級/DownLevelPage.aspx "../RootLevelPage.aspx」 C:\ExampleSites\TestMapPath\RootLevelPage.aspx

適用於