2012-02-14 64 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

相关问题