asp.net 獲取網站根目錄總結

獲取網站根目錄的方法有幾種如:

Server.MapPath(Request.ServerVariables["PATH_INFO"])
   Server.MapPath("~/")//獲取根文件夾
   Server.MapPath("")//當前代碼文件所在的目錄路勁
  Server.MapPath(".")//獲取根文件夾

     
    Page.Request.ApplicationPath

  以上的代碼在
http://localhost/EnglishClub/manage/WebForm1.aspx頁面
  運行結果:
  C:/Inetpub/wwwroot/EnglishClub/manage/WebForm1.aspx
  C:/Inetpub/wwwroot/
  C:/Inetpub/wwwroot/EnglishClub/manage
  C:/Inetpub/wwwroot/EnglishClub/manage
  C:/Inetpub/wwwroot/EnglishClub/
  C:/Inetpub/wwwroot/EnglishClub

以上的方法可以在.aspx中訪問,但是如果你在。cs文件就不能用。

HttpContext.Current.Server.MapPath();
System.Web.HttpContext.Current.Request.PhysicalApplicationPath  
在.cs文件中可以用。

但是HttpContext.Current.Server.MapPath();這個獲取的是文件的路徑而不是根目錄。

只有System.Web.HttpContext.Current.Request.PhysicalApplicationPath 這個纔是獲取的根目錄,在寫獲取數據庫路徑是應該用這個,其他的都有問題。

System.Web.HttpContext.Current.Request.PhysicalApplicationPath

Server.MapPath("~/")效果是一樣的。

 

Server.MapPath("~/");//無論代碼所在的文件的、頁面路勁是什麼,永遠返回 C:/Inetpub/wwwroot/EnglishClub/(就是當前程序運行的所在根目錄)

如果存儲 附件的路勁 進數據庫的話,不應該把絕對路勁存進去。應該只存儲 文件名部分。例如:

/uploads/abc.txt

當需要瀏覽文件的時候,在在讀取出來的路徑:(即/uploads/abc.txt),前面+網站的路勁:例如:

http://abc.com+"/uploads/abc.txt"

發佈了36 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章