请参阅下面的代码。我不确定为什么两个额外的//
出现在文件扩展名之前或者如何最好地处理?
string avatarFilePath = "~/_images/avatar/";
string userId = 53da95a1-cc48-42d0-9a00-167f47ce5933";
string avatarFileExt = ".png";
string path = Path.Combine(avatarFilePath, userId, avatarFileExt);
//value of 'path' is: "~/_images/avatar/53da95a1-cc48-42d0-9a00-167f47ce5933\\.png" <-- note two slashes before extension
答案 0 :(得分:1)
Path.Combine不用于创建文件名或构建URL。您应该首先构建文件名,然后使用Uri构建您的URL。像
这样的东西string avatarFilePath = "~/_images/avatar/";
string userId = 53da95a1-cc48-42d0-9a00-167f47ce5933";
string avatarFileExt = ".png";
string fileName = String.Format("{0}{1}", userId, avatarFileExt);
Uri uri = new Uri(avatarFilePath, fileName);
string url = uri.ToString();
如果你想要一个物理文件路径,你可以使用
Server.MapPath(url);