It's just a code snippet of mine.
/// <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;
}
/// 将相对路径转换为绝对路径
/// 注:最终得到任何场合都可以正常链接的路径(不论将应用程序设置成虚拟目录还是网站的根目录)
/// 例如:设置为虚拟目录的时候,"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;
}