记性不好,好多次都被路径问题给拦住了.我现在想得到一个资源的全URL路径,因此首先想得到网站当前的域名,端口和虚拟目录.看下表
底下這張表就是各種跟 Browser Request 的網址相關的屬性與用法:
網址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc |
Request.ApplicationPath |
/ |
Request.PhysicalPath |
D:\Projects\Solution\web\News\Press\Content.aspx |
System.IO.Path.GetDirectoryName(Request.PhysicalPath) |
D:\Projects\Solution\web\News\Press |
Request.PhysicalApplicationPath |
D:\Projects\Solution\web\ |
System.IO.Path.GetFileName(Request.PhysicalPath) |
Content.aspx |
Request.CurrentExecutionFilePath |
/News/Press/Content.aspx |
Request.FilePath |
/News/Press/Content.aspx |
Request.Path |
/News/Press/Content.aspx/123 |
Request.RawUrl |
/News/Press/Content.aspx/123?id=1 |
Request.Url.AbsolutePath |
/News/Press/Content.aspx/123 |
Request.Url.AbsoluteUri |
http://localhost:1897/News/Press/Content.aspx/123?id=1 |
Request.Url.Scheme |
http |
Request.Url.Host |
localhost |
Request.Url.Port |
1897 |
Request.Url.Authority |
localhost:1897 |
Request.Url.LocalPath |
/News/Press/Content.aspx/123 |
Request.PathInfo |
/123 |
Request.Url.PathAndQuery |
/News/Press/Content.aspx/123?id=1 |
Request.Url.Query |
?id=1 |
Request.Url.Fragment |
|
Request.Url.Segments |
/ News/ Press/ Content.aspx/ 123
|
这里并没有得到域名的方法.还是只好拆分字符串了,我是这么做的:
protected string GetBaseUrl() { return Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl)); }
var fullImgUrl = GetBaseUrl() + "/Views/Images.ashx?id=" + map;
不知是否有更好的方法得到?
记性不好,好多次都被路径问题给拦住了.我现在想得到一个资源的全URL路径,因此首先想得到网站当前的域名,端口和虚拟目录.看下表
底下這張表就是各種跟 Browser Request 的網址相關的屬性與用法:
網址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc |
Request.ApplicationPath |
/ |
Request.PhysicalPath |
D:\Projects\Solution\web\News\Press\Content.aspx |
System.IO.Path.GetDirectoryName(Request.PhysicalPath) |
D:\Projects\Solution\web\News\Press |
Request.PhysicalApplicationPath |
D:\Projects\Solution\web\ |
System.IO.Path.GetFileName(Request.PhysicalPath) |
Content.aspx |
Request.CurrentExecutionFilePath |
/News/Press/Content.aspx |
Request.FilePath |
/News/Press/Content.aspx |
Request.Path |
/News/Press/Content.aspx/123 |
Request.RawUrl |
/News/Press/Content.aspx/123?id=1 |
Request.Url.AbsolutePath |
/News/Press/Content.aspx/123 |
Request.Url.AbsoluteUri |
http://localhost:1897/News/Press/Content.aspx/123?id=1 |
Request.Url.Scheme |
http |
Request.Url.Host |
localhost |
Request.Url.Port |
1897 |
Request.Url.Authority |
localhost:1897 |
Request.Url.LocalPath |
/News/Press/Content.aspx/123 |
Request.PathInfo |
/123 |
Request.Url.PathAndQuery |
/News/Press/Content.aspx/123?id=1 |
Request.Url.Query |
?id=1 |
Request.Url.Fragment |
|
Request.Url.Segments |
/ News/ Press/ Content.aspx/ 123
|
这里并没有得到域名的方法.还是只好拆分字符串了,我是这么做的:
protected string GetBaseUrl() { return Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl)); }
var fullImgUrl = GetBaseUrl() + "/Views/Images.ashx?id=" + map;
不知是否有更好的方法得到?
|
请发表评论