【问题标题】:Problem with displaying images in MVC with a virtual directory configured在配置了虚拟目录的 MVC 中显示图像时出现问题
【发布时间】:2011-08-10 21:19:19
【问题描述】:

我有一个托管在 IIS 7.5 上的 MVC 应用程序 在我的项目中,我在 IIS 中配置为虚拟目录的不同位置有一个本地图像文件夹,例如 /otherimages

当我尝试从视图中引用此路径时,它不会显示图像,托管在 /Content 文件夹中的图像可以正常工作,我该如何配置它才能正常工作。

我试过了

Url.Content("~/otherimages/pic.jpg")

但是普通的 img 标签也不起作用。

谢谢

【问题讨论】:

  • 如果您只是通过网络浏览器点击链接,您能浏览到此图像吗?
  • 我解决了是权限问题,谢谢

标签: asp.net-mvc iis-7 routing razor


【解决方案1】:

我不确定我是否完全理解了这个问题,但我会试一试。

如果您设置了一个包含图像的虚拟目录,那么该目录很可能位于网站的根目录。所以,http://localhost/otherimages

如果是这种情况,Url.Content("~/otherimages/pic.jpg") 将无法工作,因为它正在查找 Web 应用程序的根目录(http://localhost/myapp/otherimages)。听起来您需要做的是:

Url.Content("/otherimages/pic.jpg")

这基本上是删除波浪号“~”并强制 Url.Content() 查看网站根目录,而不是 Web 应用程序根目录。

注意:这意味着您的应用依赖于存在于特定位置且具有特定名称的外部目录。如果您对此感到满意,那么一切都很好:)

【讨论】:

  • 它不起作用,因为普通的 img 标签也不起作用,这可能是权限/路由问题吗?
  • 如果您的图像目录是虚拟目录,我想不会。听起来,如果您不能只在浏览器中键入 URL,则虚拟目录设置存在问题。你能确认虚拟目录是在网站根目录下设置的,并且按照你的想法命名吗?
【解决方案2】:

应该可以。我会检查权限。去看看 IIS 日志,看看你是否得到除了 200 状态之外的响应。

【讨论】:

  • 如何找到正确的日志文件,日志文件夹中似乎有数百万个日志文件
  • 在 IIS 中,右键单击网站/管理网站/高级设置。请参阅字段 ID。这是一个数字。 (咆哮:为什么 MS 不在网站的日志记录设置中显示此内容,叹息)
猜你喜欢
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 2018-02-13
  • 2022-12-16
  • 1970-01-01
  • 2021-07-23
  • 2011-11-17
相关资源
最近更新 更多