图像未显示mvc 4

时间:2014-05-05 13:17:43

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

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

我正在获取它并将其存储在Model中并将其存储在字符串属性中,然后再将其发送到强类型视图。

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

<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"/>

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

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

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

如果存储文件的文件夹的路径位于您的站点内,则可以使用虚拟路径替换部分物理路径,例如shown here

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

此路径无法使用,因为这是一个安全问题,您必须使用源地址的项目文件夹相对路径,如:

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

这将解决您的问题。