获取“无法找到路径的一部分”错误

时间:2015-02-01 13:41:23

标签: c# asp.net file file-upload directory

我在我的网络应用程序中使用FileUploader控件。我想将文件上传到指定的文件夹中。由于特定文件夹尚不存在,我必须在我的代码中创建它的路径。

Could not find part of the path.
mscorlib.dll but was not handled in user code

Additional information: Could not find a part of the path
'C:\Users\seldarine\Desktop\PROJ\ED_Project\SFiles\Submissions\blueteam\Source.zip

我认为我的filePath存在问题。 这是我的代码的一部分:

 //teamName is a string passed from a session object upon login 
 string filePath = "SFiles/Submissions/" + teamName+ "/";

 //If directory does not exist
 if (!Directory.Exists(filePath))
 { // if it doesn't exist, create

    System.IO.Directory.CreateDirectory(filePath);
 }

 f_sourceCode.SaveAs(Server.MapPath(filePath + src));
 f_poster.SaveAs(Server.MapPath(filePath + bb));

1 个答案:

答案 0 :(得分:12)

尝试:

//teamName is a string passed from a session object upon login 
 string filePath = "SFiles/Submissions/" + teamName+ "/";
 string severFilePath = Server.MapPath(filePath);
 // The check here is not necessary as pointed out by @Necronomicron in a comment below
 //if (!Directory.Exists(severFilePath))
 //{ // if it doesn't exist, create

    System.IO.Directory.CreateDirectory(severFilePath);
 //}

 f_sourceCode.SaveAs(severFilePath + src));
 f_poster.SaveAs(severFilePath + bb));

您需要根据Server.MapPath(filePath);检查并创建目录,而不是filePath(我假设您的srcbb是没有任何子目录路径的文件名。)< / p>

最好使用Path.Combine而不是连接字符串:

f_sourceCode.SaveAs(Path.Combine(severFilePath,src));
f_poster.SaveAs(Path.Combine(severFilePath,bb));