Server.MapPath 是一個(gè)用于獲取 Web 服務(wù)器上文件的物理路徑的方法。它的使用方法如下:
System.Web.HttpServerUtility server = System.Web.HttpContext.Current.Server;
// 獲取位于 Web 應(yīng)用程序根目錄的文件的物理路徑
string filePath = server.MapPath("~/file.txt");
// 獲取位于當(dāng)前頁(yè)面所在目錄的子目錄中的文件的物理路徑
string filePath = server.MapPath("subdirectory/file.txt");
// 獲取位于 Web 應(yīng)用程序的根目錄下的 App_Data 文件夾中的文件的物理路徑
string filePath = server.MapPath("~/App_Data/file.txt");
注意事項(xiàng):
MapPath 方法返回的是一個(gè)字符串,表示文件的物理路徑。
虛擬路徑必須以波浪線(~)開(kāi)頭才能被正確解析。
虛擬路徑可以是相對(duì)路徑(相對(duì)于當(dāng)前頁(yè)面或當(dāng)前頁(yè)面所在目錄),也可以是絕對(duì)路徑(相對(duì)于 Web 應(yīng)用程序的根目錄)。
如果文件不存在或路徑無(wú)效,MapPath 方法將拋出異常。所以在使用 MapPath 方法之前最好進(jìn)行路徑有效性的檢查。