- 绝对路径转为相对路径
/// <summary>
/// 绝对路径转相对路径
/// </summary>
/// <param name="targetPath">目标路径</param>
/// <param name="basePath">基础路径</param>
/// <returns></returns>
public static string Ab2RePath(string targetPath, string basePath)
{
const string directorySeparatorChar = "\\";
Uri pathUri = new Uri(targetPath);
if (!basePath.EndsWith(directorySeparatorChar))
{
basePath += directorySeparatorChar;
}
Uri folderUri = new Uri(basePath);
return Uri.UnescapeDataString(folderUri.MakeRelativeUri(pathUri).ToString().Replace("/", directorySeparatorChar));
}
2.相对路径转为绝对路径
/// <summary>
/// 相对路径转决定路径
/// </summary>
/// <param name="targetPaht">目标路径</param>
/// <param name="basePath">基础路径</param>
/// <returns></returns>
public static string Re2AbPath(string targetPaht, string basePath)
{
string path = Path.Combine(basePath, targetPaht);
path = Path.GetFullPath(path);
return path;
}