c# 文件路径中存在非法字符

Can*_*vas 2 c# model-view-controller asp.net-mvc path

嘿伙计们,我有这段代码,它首先将路径存储在变量中,检查该路径是否存在,如果不存在则创建它。然后采用该路径并将我的文件名添加到其中。

这是代码

appData = string.Format("{0}{1}\"", controller.Server.MapPath("~/App_Data/"), Guid.NewGuid().ToString());

if (!Directory.Exists(appData))
    Directory.CreateDirectory(appData);

filePath = string.Format("{0}\"{1}", appData, model.File.FileName);
model.File.SaveAs(filePath);
data.Add("attachment", filePath);
Run Code Online (Sandbox Code Playgroud)

但是当它到达 SaveAs 函数时,它指出

Illegal character in path
Run Code Online (Sandbox Code Playgroud)

AppDath = C:\Users\Ben\Documents\Team Foundation Server\Team Projects\Shared\Orchard 1.6\Orchard\src\Orchard.Web\App_Data\392216b5-32ad-41f4-82bf-e074b13f25df\"

知道为什么吗?

Rap*_*aus 5

使用路径组合

filePath = Path.Combine(appData, model.File.FileName);
Run Code Online (Sandbox Code Playgroud)

创建appData路径相同

appData = Path.Combine(controller.Server.MapPath("~/App_Data"), Guid.NewGuid().ToString());
Run Code Online (Sandbox Code Playgroud)

  • @Canvas 更好的做法是不使用 String.Format 来组合路径......当您有专用方法时;) (2认同)