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;
}