如何获取服务器的绝对路径
问题描述:
我有2个问题如何获取服务器的绝对路径
如何获得绝对URI在asp.net。 例如:输入“〜/文件/”,输出:“www.sampleweb.com/Files/”
什么是“去根”命令,在URL像 服务器端命令客户端“〜/文件/”
例如:
文件位置
myAspProjectName/Files/aa.jpg
myAspProjectName/User/bb.aspx
到bb.aspx
<asp:image ImageUrl="~/Files/aa.jpg" id="img1" runat="server"/>
这工作正常。但
<img src="~/Files/aa.jpg" alt=""/>
不工作
答
像马克B说,没有明显的语法快捷方式。
如果您正在处理当前请求,那么您可以使用Request.Url
或任意文件,如果您使用的是ASP.Net页面,则可以使用Page.ResolveURL("~/some/path")
。这些方法会生成绝对的相对URI,即形式为/ path/somefile的那些方法,然后如果使用Mark B的方法获取主机名,则可以将两者连接在一起。 (2)我认为你可能是指绝对的相对URIs。如果相对URI以正斜杠开始,则它被解析为相对于基本域,例如如果你在页面http://yourdomain.com/somedir/somepage.aspx
,并且你跟着一个链接是/otherdir/somepage.aspx
你最终在http://yourdomain.com/otherdir/somepage.aspx
答
我不认为有捷径语法将物理路径映射到一个虚拟的,包括域名。然而,这将工作:
string absoluteUri = Request.ServerVariables["SERVER_NAME"] + Request.ServerVariables["URL"];
不知道你的意思是第二个问题 - 请你可以扩大?
我不知道我理解这个问题。你的意思是“你怎么用Javascript做到这一点”? 也许如果你扩大你正在做的事情会有所帮助。 – David 2009-09-28 14:27:17