【发布时间】:2011-10-04 17:31:04
【问题描述】:
为此苦苦挣扎...我阅读了 SO,发现我应该使用 HostingEnvironment.MapPath()。
不过,每次我尝试使用此方法时,都会被告知不允许使用虚拟路径。
我有一个位于 (project)\Content\Images\MyImage.jpg 下的文件
Image image = Image.GetInstance(HostingEnvironment.MapPath("/") + "/Content/Images.cslogo_highres.jpg");
找不到路径“C:\inetpub\wwwroot\Content\Images\cslogo_highres.jpg”的一部分。
Image image = Image.GetInstance(HostingEnvironment.MapPath("Content") + "/Images/cslogo_highres.jpg");
此处不允许使用相对虚拟路径“内容”。
我尝试了其他一些组合,在 Google 上搜索了一下,但一直没有找到可行的方法。我真的很想使用 ResolveUrl(~/Content/Images/cslogo_highres.jpg) 但它似乎不是静态方法下的选项。
对不起,如果这是微不足道的,但我对猜测和检查路径感到沮丧。
编辑:回答,令人惊讶的是没有人们期望的那么简洁:
Image image = Image.GetInstance(HostingEnvironment.MapPath(VirtualPathUtility.ToAbsolute("~/Content/Images/cslogo_highres.jpg")));
【问题讨论】: