在練習寫程式的時候,跳出「SaveAs方法設定為需要根路徑,而路徑 'xxxxxx' 不是根目錄。」的錯誤訊息視窗!!!
發生原因:
修改完後的程式碼,如下:
---------------補充--------------------------------------------------------------
取得實體路徑的方法有很多種,如下:
舉例:假設本網頁的存放上傳檔案的實體路徑為 D:\練習區\MySeltTest\Upload\
方法一、
string savePath = "D:\\練習區\\MySelfTest\\Upload\\";
方法二、
string savePath = @"D:\練習區\MySelfTest\Upload\";
方法三、
string savePath = Server.MapPath("~/Upload/");
方法四、
string saveDir = "\\Upload\\";
string appPath = Request.PhysicalApplicationPath;
string savePath = appPath + saveDir;
※appPath是網站[根]目錄,轉換成Server端硬碟路徑
--------20160111補充-------------------------------------------------------------------
假設網站的路徑URL(網址)為:http://www.goodweb.com.tw/),其網站專門存放圖片的子目錄為 /images/
※透過Request.PhysicalApplicationPath轉換後,Server端硬碟的「實體」路徑,設定可能如下(以微軟Windows Server為例子):
C:\Inetpub\wwwroot\ (網站跟目錄)
C:\Inetpub\wwwroot\images (網站存放圖片的子目錄)
----------------------------------------------------------------------------------------------
結論:
有時候寫的方式千奇百種,但呈現出來的效果是一樣的,只會一種寫法雖然可以達到目的,假若您會好幾種方式,豈不是非常棒呢?別排斥任何的可以幫助達到目的的方式,因為它會幫您累績無可限量的智慧。
沒有留言:
張貼留言