在IIS中,我的网站设置如下:
- MyWebsite
- Images
- MyVirtualDirectory
- Management
我想从MyWebsite/Images
中的页面访问MyVirtualDirectory/Management
中的图像文件。
例如,在MyVirtualDirectory/Management/MyPage.aspx
中,我试图像这样访问图像:
Server.MapPath("~/Images/myimage.jpg")
但是运行后,路径不正确。在Google Chrome中,我可以查看HTML,它显示为<img src="../../Images/myimage.jpg" />
。如果我删除../..
很好,但是我想知道为什么~/...
语法不起作用。
答案 0 :(得分:1)
Server.MapPath("~/somepath")
语法可以正常工作。该函数返回物理路径,同时将“〜”作为 current 网站的根目录。在您的情况下,当前网站是MyVirtualDirectory
,因此该函数将基于此虚拟目录的根目录返回物理路径。检查此答案以获取详细说明here