老革命不仅会遇上新问题,也会遇上老问题。革命越老越健忘,老问题就越多。
我就是这么个老革命。
对付老问题的唯一窍门,就是赶紧将解决方案记录下来,温故而知新,不怕柏金森矣。
当然,老革命如果能变成老领导,提升解决问题的层级,从繁杂的日常编码中超脱出来,即使手抖脚颤又如何?
今天的老问题是,asp.net中,如何获得某个相对路径的绝对路径?记忆中,我已经都写过这种代码N回了,却总是记不住。
相对路径 -> 绝对路径
string fileICon = Url.Content("~/Content/Images/PDF2.jpg");
或者
if (url.StartsWith("~"))
{
url = HttpContext.Current.Request.ApplicationPath + url.Substring(1);
}
虚拟路径 -> 物理路径
string savepath = Server.MapPath("~/Content/Images/PDF2.jpg");
获取域名
string url=HttpContext.Current.Request.Url.Host;
获取 完整url (协议名+域名+站点名+文件名+参数)
string url=Request.Url.ToString();