2012-02-14 42 views
2

我試圖保存文件ASP.NET:上傳文件錯誤「給出的路徑的格式不支持」

string path= "~/Pre/IntraExtra/" + Session["id"].ToString() + "_" + FileUpload1.FileName; 
FileUpload11.SaveAs(Server.MapPath(path)); 

,但它給這個錯誤「不支持給定路徑的格式。」


現在正在.. 我只是刪除了(〜/),謝謝大家

+0

不知道任何一種語言,但也許使用絕對路徑會有所幫助? – Ben 2012-02-14 22:06:10

+0

可能更好地使用:System.IO.Path.Combine(),而不是+ – 2012-02-14 22:06:43

+0

感謝重播,我已經嘗試過,但沒有任何工作 – Meensat 2012-02-14 22:08:31

回答

0

它正在工作..我剛剛刪除了(〜/),謝謝大家

2

例如,如果我有這樣的設置就像在我結束下面它的工作原理代碼..也注意我正在使用的@符號..這是一個文字文件路徑,這樣我就不必在文件路徑中使用「\」了。請嘗試下面的代碼,看看它是否工作..用你的代碼變量替換。

if (FileUpload1.HasFile) 
     { 

      fname = FileUpload1.FileName; 
      spath = "~\Pre\IntraExtra\" + FileUpload1.FileName; 
      fpath = Server.MapPath("Uploaded"); 
      fpath = fpath + @"\" + FileUpload1.FileName;    
      desc = TextBox2.Text; 
      if (System.IO.File.Exists(fpath)) 
      { 
       Label1.Text = "File Name already exists!"; 
       return; 
      } 
      else 
      { 
       FileUpload1.SaveAs(fpath); 
      } 
     } 
+0

謝謝你,你幫我 – Meensat 2012-02-14 22:37:32

+2

@Meensat:善待,並將這個答案標記爲接受。 – NotMe 2012-02-14 22:54:51

1

也許嘗試使用Path.Combine方法:

string path= "~/Pre/IntraExtra/" + Session["id"].ToString() + "_"; ; 
string combinedPath = System.IO.Path.Combine(path, FileUpload1.FileName); 

FileUpload11.SaveAs(Server.MapPath(combinedPath)); 

如果這不起作用,那麼你可以給我們文件名和路徑嗎?

+0

謝謝,問題出在(〜/) – Meensat 2012-02-14 22:39:07

+0

真棒很高興我們可以幫助您指出正確的方向 – MethodMan 2012-02-14 22:41:41

相關問題