【问题标题】:Image not getting displayed mvc 4图像未显示 mvc 4
【发布时间】:2014-06-21 19:36:20
【问题描述】:

我正在将图片的物理路径存储在表格中,并尝试在视图中显示图像。

在将其发送到强类型视图之前,我正在获取它并将其存储在模型中并将其存储在字符串属性中。

我正在尝试使用以下代码显示图像:

<img src="@Url.Content(@Model.imageUrl)" alt="Image"/>

如果我查看页面的来源,则路径正确加载,如下所示,但图像未显示。

<img src="C:\Documents and Settings\dinesh.sekaran\Desktop\My 
  Files\OnlineShoppingSystemMVC\OnlineShoppingSystemMVC\Resources\iphone5s.jpg"
  alt="Image"/>

感谢您的帮助。

【问题讨论】:

  • 你的@Model.imageUrl二进制数据吗?
  • 该字符串包含什么?
  • 图片在我的系统中的位置没有别的
  • @RandomUser 您是否收到 404 错误?查看控制台是否有错误,还有其他错误。
  • 我尝试按照@Oualid 的建议加载相对路径

标签: asp.net-mvc image asp.net-mvc-4 razor


【解决方案1】:

您不应该将服务器的物理路径直接暴露给浏览器,而这正是您正在做的事情。

您需要将物理路径转换为虚拟路径。

如果您存储文件的文件夹的路径在您的站点内,您可以将部分物理路径替换为虚拟路径,例如shown here

如果没有,您始终可以创建一个链接,指向返回包含图像的FileResult 的操作。为此,您需要在控制器中创建一个操作,该操作接收标识符或路径或其他任何内容,以识别您的图像,并在 FileResult 中返回图像文件。

【讨论】:

    【解决方案2】:

    尝试使用相对路径,并将您的图像放在应用程序的图像文件夹中。 @Model.imageUrl 如果是字符串就足够了。

    【讨论】:

      【解决方案3】:

      这个路径不能使用,因为它是一个安全问题,你必须使用项目文件夹相对路径作为源地址:

      <img src="/Resources/iphone5s.jpg" alt="Image"/>
      

      这将解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-10
        • 1970-01-01
        • 1970-01-01
        • 2013-08-19
        • 1970-01-01
        • 2015-11-13
        • 1970-01-01
        相关资源
        最近更新 更多