今天做了一个将绝对路径转换成URL路径的功能,在网上找了一下,一大堆代码
但是这些代码的功能都是“将绝对路径转换成相对路径”,并不能达到我要的效果,
我要的效果是“将绝对路径转换成URL路径”,该路径必须是一个完整的HTTP-URL路径
废话少说,贴代码:
Code
/// <summary>
/// 将绝对路径转换成相对路径
/// </summary>
/// <param name="url">要转换的绝对路径</param>
/// <returns>转换好了的URL路径</returns>
private string Urlconvertor(string url){
HttpContext.Current.RewritePath(url);//对原来进行请求的路径进行一次重计算
string u = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path);//获取重计算后的URL部分
HttpContext.Current.RewritePath(HttpContext.Current.Request.RawUrl);//在将原始请求的URL进行一次计算,以保证用户请求路径的正确
return u;
}