C# .Net实现URL绝对路径和相对路径之间互相转换
2015-10-21 15:01
661 查看
网站制作开发中,URL的绝对路径和相对路径之间互相转换,是经常需要用到的。以下是在C#.Net下一种实现二者互相转化的方法:
[DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
public static extern bool PathRelativePathTo(
[Out] StringBuilder pszPath,
string pszFrom,
FileAttributes dwAttrFrom,
string pszTo,
FileAttributes dwAttrTo
);
public static string ToRelativePath(string basePath, string absolutePath)
{
StringBuilder path = new StringBuilder(260);
PathRelativePathTo(path, basePath, FileAttributes.Normal,
absolutePath, FileAttributes.Normal);
string r = path.ToString();
if (r.StartsWith(".\\"))
{
return r.Substring(2);
}
return r;
}
public static string ToAbsolutePath(string basePath, string relativePath)
{
return new Uri(new Uri(basePath), relativePath).ToString();//如果是文件路径将/替换为\
}
[DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
public static extern bool PathRelativePathTo(
[Out] StringBuilder pszPath,
string pszFrom,
FileAttributes dwAttrFrom,
string pszTo,
FileAttributes dwAttrTo
);
public static string ToRelativePath(string basePath, string absolutePath)
{
StringBuilder path = new StringBuilder(260);
PathRelativePathTo(path, basePath, FileAttributes.Normal,
absolutePath, FileAttributes.Normal);
string r = path.ToString();
if (r.StartsWith(".\\"))
{
return r.Substring(2);
}
return r;
}
public static string ToAbsolutePath(string basePath, string relativePath)
{
return new Uri(new Uri(basePath), relativePath).ToString();//如果是文件路径将/替换为\
}
相关文章推荐
- 【C#基础】反射
- C#指针操作Marshal实例
- C#批量替换文本文件内容的核心代码
- C#中DataTable中的Compute方法使用收集
- c# webapi POST 参数解决方法
- c# 判断点是否在区域内 点在区域内 在多边形内 判断
- 我们曾经心碎的C#之 第一章.我的第一个C#程序
- GDI+(C#)
- C#基础巩固(3)-Linq To XML 读取XML
- C#批量修改文件名的核心代码
- C# 加载图片image --(C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法
- C# Window编程随记——第三方读取Excel表格数据的插件(NPOI.dll)
- 【网摘】C#中TransactionScope的使用方法和原理
- 简单认识C#
- C# Window编程随记——读取.txt文件内容
- C#操作目录和文件
- C# Window编程随记——按钮点击事件及弹出选择路径框
- C#命名规则和风格(收集)
- C#比较两个日期的大小
- C# 获取磁盘空间信息