2

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

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

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

有什么想法吗?

谢谢

4

2 回答 2

1

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

/Content/uploads/Jellyfish.jpg 

或者干脆

/Jellyfish.jpg

并且应该在您的视图中像这样生成

<img src="@Url.Content("~/Content/Uploads/@image.Path")" />
于 2013-03-15T23:22:16.097 回答
0

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

这是一个完整的示例: 在 MVC 3 Razor 中显示上传的图像

于 2013-03-15T21:12:55.747 回答