嗨,我有一个Path.Combine的问题,它没有返回corect结果。这就是我的意思。我将4个字符串组合成浴缸:
string basePath = "D:\\Programare\\Visual Studio\\TFS Workspace\\CodeArt\\Development\\CodeArt\\Backend\\WebApi\\CodeArt.WebApi\\bin\\..\\Content\\"
string userId = "4d52ec77-966a-480a-a4c3-c1ff67438fe9";
string filePath = "\\Avatar";
string storageFileName = "ffdc24a9-f553-41ce-aa33-042b07fcfdab.png";
var result = Path.Combine(basePath , userId , filePath , storageFileName);
现在由于某种原因,我的这段代码只返回“\ Avatar \ ffdc24a9-f553-41ce-aa33-042b07fcfdab.png”。
我做错了什么为什么不是Path.Combine将所有字符串连接起来。
答案 0 :(得分:6)
来自MSDN:Path.Combine(String, String, String, String)
path1应该是绝对路径(例如,“d:\ archives”或 “\ archives \ public”)。如果其中一个后续路径也是 绝对路径,组合操作会丢弃之前组合的所有组合 路径和重置到该绝对路径。
Asper MSDN文档Path1应该是 Absolute Path
,并且您不应该在任何后续路径中使用 Absolute Path
替换它:
string filePath = "\\Avatar";
有了这个:
string filePath = "Avatar";