出现“找不到部分路径”错误

Getting “Could not find part of the path” error

我在 Web 应用程序中使用 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

我认为我的文件路径有问题。 这是我的部分代码:

 //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));

尝试:

//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 是没有任何子目录路径的文件名) .

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

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