標籤:text ttext 空間 上下文 檔案名稱 str 資源 string 返回
http://www.studyofnet.com/news/184.html 本文導讀:Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。作用是返回與Web伺服器上的指定虛擬路徑相對應的物理檔案路徑。其參數path為Web 服務器的虛擬路徑,返回結果是與path相對應的物理檔案路徑。但有時參數並非為虛擬路徑,而是使用者自訂的檔案名稱。
Server.MapPath方法作用
MapPath方法用來返回與Web伺服器上的指定虛擬路徑相對應的物理檔案路徑。
文法
Server.MapPath(path);
參數
path表示Web伺服器上的虛擬路徑,如果path值為空白,則該方法返回包含當前應用程式的完整實體路徑。
注意事項
Server.MapPath()有時在程式調試時會提示“當前上下文中不存在名稱“Server””錯誤,從而不支援函數Server.MapPath()的使用。儘管引用了命名空間“using System.Web;”也是無濟於事,此時就需要使用其全名,或者是當前使用Server.MapPath()函數的類繼承自System.Web.UI.Page。
Server.MapPath()應用
假設當前的網站目錄為E:\wwwroot 應用程式虛擬目錄為E:\wwwroot\company 瀏覽的頁面路徑為E:\wwwroot\company\news\ 下面的一個 aspx頁面。
在該頁面中使用
Server.MapPath("") :返回當前頁面所在的物理檔案路徑:E:\wwwroot\company\news
Server.MapPath("/") :返回應用程式根目錄所在的物理檔案路徑:E:\wwwroot
Server.MapPath("./") :返回當前頁面所在的物理檔案路徑:E:\wwwroot\company\news
Server.MapPath("../"):返回當前頁面所在的上一級的物理檔案路徑:E:\wwwroot\company
Server.MapPath("~/"):返回應用程式的虛擬目錄(路徑):E:\wwwroot\company
Server.MapPath("~"):返回應用程式的虛擬目錄(路徑):E:\wwwroot\company
ASP.NET中Server.MapPath() 和 Request.MapPath()使用區別:
Server.MapPath(string) :是將相對於當前調用檔案的檔案(或目錄)映射為實體路徑;
Request.MapPath(string) :是將string虛擬路徑映射為實體路徑(asp中Request無此方法)
Server.MapPath(string) 中string 可以用“../”方式引用父目錄,甚至可以將此目錄跳到整個WEB目錄外,如:C:\WWWROOT
目錄為WEB根目錄,在根目錄檔案中調用此Server.MapPath("../指令檔"),則可以調用WEB目錄外的指令碼、資源等。
Request.MapPath(string) 中的string為虛擬目錄,只能相對WEB虛擬目錄形式的,也不允許"../"方式調用,只能是"/","/xx"等字串
asp.net中Server.MapPath的使用