您好我正在开发一个asp.net Web应用程序。我必须访问根目录中的images图像文件夹中的一个。我在我的代码隐藏文件中使用以下代码。
string imageDirectory = HttpContext.Current.Server.MapPath("~/images/");
string imageUrl = imageDirectory + "/img1.bmp";
这在我的本地计算机上运行良好。我的问题是,当我将我的应用程序移至生产时,此代码是否有效?
答案 0 :(得分:2)
如果您考虑将imageUrl
放入<img>
标记中,那么不会,它将无效。 Server.MapPath
将您的文件或目录作为本地Windows文件/目录名返回,例如“C:\ WebRoot \ MyWebApplication”。如果您将此信息发送到浏览器,显然浏览器将无法获取图像。
你可以做的是:
string imageUrl = ResolveClientUrl("~/images/myImage.gif");
答案 1 :(得分:1)
只要您拥有适用于您网站的应用程序根目录/虚拟目录,就应该这样做。
此外,您可以将这两行合并到:
string imageUrl = HttpContext.Current.Server.MapPath("~/images/img1.bmp");