ASP.net 1.1 中相对路径转换为绝对路径

/// <summary>
/// 将相对路径转换为绝对路径
/// 注:最终得到任何场合都可以正常链接的路径(不论将应用程序设置成虚拟目录还是网站的根目录)
/// 例如:设置为虚拟目录的时候,"admin/upload/test.jpg" => "/JCDWeb/admin/upload/test.jpg"
///                设置为网站根的时候,"admin/upload/test.jpg" => "/admin/upload/test.jpg"
/// </summary>
/// <param name="path">从根开始的相对路径</param>
/// <returns>绝对路径</returns>
/// <remarks>created by Neil, 2006-1-14</remarks>
public static string GetAbsolutePath(string path)
{
    // 如果是一个绝对路径直接返回
    if (path.ToLower().StartsWith("http://"))
        return path;
    // 去掉前导的 "/"
    if (path.StartsWith("/"))
        path = path.Substring(1);
    // 整个应用程序的路径
    string appPath = HttpContext.Current.Request.ApplicationPath;
    // 得到绝对路径
    if (appPath.EndsWith("/"))
        return appPath + path;
    else
        return appPath + "/" + path;
}
posted on 2010-12-05 21:29  Mishchael  阅读(671)  评论(0编辑  收藏  举报