C# .Net實現URL絕對路徑和相對路徑之間互相轉換


網站制作開發中,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();//如果是文件路徑將/替換為\
        }


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com