要獲取相對路徑,可以使用以下方法:
使用 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);