要获取相对路径,可以使用以下方法:
-
使用
System.IO.Path.GetRelativePath
方法来获取相对路径。string relativePath = System.IO.Path.GetRelativePath(basePath, targetPath);
-
使用
System.IO.Path.GetDirectoryName
方法获取目标路径的父目录,然后使用System.IO.Path.GetRelativePath
方法获取相对路径。string basePath = @"C:\BaseFolder"; string targetPath = @"C:\BaseFolder\SubFolder\file.txt"; string relativePath = System.IO.Path.GetRelativePath(System.IO.Path.GetDirectoryName(basePath), targetPath);
-
使用自定义方法来计算相对路径。
public static string GetRelativePath(string fromPath, string toPath) { Uri fromUri = new Uri(fromPath); Uri toUri = new Uri(toPath); Uri relativeUri = fromUri.MakeRelativeUri(toUri); return Uri.UnescapeDataString(relativeUri.ToString()); } string basePath = @"C:\BaseFolder"; string targetPath = @"C:\BaseFolder\SubFolder\file.txt"; string relativePath = GetRelativePath(basePath, targetPath);