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();//如果是文件路徑將/替換為\
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM