2015年5月1日 星期五

FileUpload檔案上傳的路徑發生錯誤 -- 20150501

緣由:

在練習寫程式的時候,跳出「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  (網站存放圖片的子目錄)

----------------------------------------------------------------------------------------------






結論:

有時候寫的方式千奇百種,但呈現出來的效果是一樣的,只會一種寫法雖然可以達到目的,假若您會好幾種方式,豈不是非常棒呢?別排斥任何的可以幫助達到目的的方式,因為它會幫您累績無可限量的智慧。



















沒有留言:

張貼留言