在剃刀页面上渲染图像

时间:2013-03-15 21:05:57

标签: asp.net-mvc razor

我正在使用asp.net mvc3将图像上传到网络服务器。在剃刀视图上显示图像时,问题是在开发模式下我有以下渲染图像

@foreach (var image in Model.Photos)
{                    
   <img src="@image.Path" />                    
}

在页面源上,一切似乎都很好,html标签呈现为

<img src="C:\Projects\MySite\Content\uploads\Jellyfish.jpg" />
<img src="C:\Projects\MySite\Content\uploads\Lighthouse.jpg" />

在磁盘驱动器上,位置图像已正确上传,因此一切正常,但照片未呈现。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

您的路径应该与您的网站相对应,而不是您的硬盘。正确的路径是:“/ Images / Jellyfish.jpg”。所以将它上传到项目中的文件夹,你应该没问题!

这是一个完整的例子: Displaying an uploaded image in MVC 3 Razor

答案 1 :(得分:0)

@image.Path的值应该与您的网站相关,而不是硬盘的完整路径。从您的模型中,Path属性应为

/Content/uploads/Jellyfish.jpg 

或只是

/Jellyfish.jpg

并且应该在您的视图中生成如下

<img src="@Url.Content("~/Content/Uploads/@image.Path")" />