当图像网址很好时,图像标记不显示图像。 MVC

时间:2017-02-25 10:25:57

标签: asp.net-mvc image

我是asp.net MVC的新手。我在数据库中有以下图像源:

@Model.Image2Url = "C:\Users\vasamad\Documents\VisualStudio2015\Projects\ReactMVC\ReactMVC\Content\Images\Products\3.jpg"

我正在添加它以便像这样查看

<img src="@Model.Image2Url" alt="No Image"/>
浏览器中的

检查元素“无法加载图像” 当我复制此URL并在新标签中过去时,它会显示图像。

1 个答案:

答案 0 :(得分:1)

您应该将相对图像路径存储到MVC应用程序根目录:

~/Content/Images/Products/3.jpg

如果您需要完整的图像路径,则需要编写一个控制器操作,该操作将从绝对路径读取此图像并将其传输到响应。最后,<img>标记需要指向此新控制器操作。这是一个例子:

public ActionResult MyImage()
{
    // Get this from your database
    string absoluteImagePath = "C:\\Users\\vasamad\\Documents\\VisualStudio2015\\Projects\\ReactMVC\\ReactMVC\\Content\\Images\\Products\\3.jpg";
    return File(absoluteImagePath, "image/jpeg");
}

然后在您的视图中将图片标记指向此操作:

<img src="@Url.Action("MyImage", "MyController")" alt="" />