可能的虚拟路径:
/folder1/folder2/image.jpg
~/folder1/folder2/image.jpg
folder1/folder2/image.jpg
具体路径:
C:\folder1\folder2\image.jpg
D:\folder1\folder2\image.jpg
C:/folder1/folder2/image.jpg
C:/folder1\folder2/image.jpg
您如何以不容易出错的方式检查路径是否是虚拟的?我问的原因是因为当我在具体路径上使用
Server.MapPath()
时,它将引发异常。但是,我要传递给Server.MapPath()
的可以是上面提供的任何示例,在运行时之前我也不知道它是什么。 最佳答案
这对我来说足够好:
protected string GetPath(string path)
{
if (Path.IsPathRooted(path))
{
return path;
}
return Server.MapPath(path);
}