程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 轉:Server.MapPath相關,server.mappath相關

轉:Server.MapPath相關,server.mappath相關

編輯:C#入門知識

轉:Server.MapPath相關,server.mappath相關


如果你從Page類繼承的類中執行這條語句,才可以簡單地使用 
DataBase = Server.MapPath("data.mdb");
否則寫全命名空間:System.Web.HttpContext.Current.Server.MapPath();

總注:Server.MapPath獲得的路徑都是服務器上的物理路徑,也就是常說的絕對路徑
1、Server.MapPath("/")
注:獲得應用程序根目錄所在的位置,如 C:\Inetpub\wwwroot\。
2、Server.MapPath("./")
注:獲得所在頁面的當前目錄,等價於Server.MapPath("")。
3、Server.MapPath("../")
注:獲得所在頁面的上級目錄。
4、Server.MapPath("~/")
注:獲得當前應用級程序的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置,如C:\Inetpub\wwwroot\Example\。

在多線程裡面使用HttpContext.Current,HttpContext.Current是得到null的. 
所以在線程調用方法,方法中類裡面的System.Web.HttpContext.Current.Server.MapPath() 獲取不到對象。

應該這樣用:

    public static string MapPath(string strPath)
    {
        if (HttpContext.Current != null)
        {
            return HttpContext.Current.Server.MapPath(strPath);
        }
        else //非web程序引用 
        {
            strPath = strPath.Replace("/", "\\");
            if (strPath.StartsWith("\\"))
            {
                //strPath = strPath.Substring(strPath.IndexOf('\\', 1)).TrimStart('\\'); 
                strPath = strPath.TrimStart('\\');
            }
            return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
        }
    }

http://blog.csdn.net/lego2816/article/details/6781677

 


ServerMapPath("/")是什?

服務器路徑

if (FileUpload1.HasFile)
{
string typepic = FileUpload1.PostedFile.ContentType;//獲取圖片上傳格式
int imgsize = FileUpload1.PostedFile.ContentLength;//獲取圖片大小
//對獲取的格式進行判斷
if (typepic == "image/bmp" || typepic == "image/gif" || typepic == "image/pjpeg" || typepic == "image/x-png")
{
if (imgsize / 1024 < 600)//判斷是否超級過600KB
{
string savepic = getname(FileUpload1.PostedFile.FileName);
FileInfo ff = new FileInfo(savepic);
string newp = ff.Name;
string savetu = Server.MapPath("../HomeAd/" + newp);
/////////////////////////////////這裡的Server.MapPath()就是將上傳的圖片保存到服務器地址////////////////////
txtImage1.Text = newp;
if (!File.Exists(savetu))
{
FileUpload1.SaveAs(savetu);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "onekey", "alert('圖片上傳成功')", true);
......余下全文>>
 

ServerMapPath的問題,怎把上級目錄切換回來

suu_path=Server.MapPath("../uvcx.asp") 改成suu_path=Server.MapPath("./uvcx.asp")
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved