使用本地路径寻址View中的图像

时间:2014-03-30 00:04:13

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

如何在ASP.NET MVC项目中显示此图像?

我已经尝试过了,但它无效:

<img src="C:\BBBB\1.png" />

有什么好的建议吗?

非常感谢!

4 个答案:

答案 0 :(得分:1)

我做了类似的事情来显示工资单存根。我不希望从wwwroot中访问它们。

请参阅此文章,了解mvc操作中的图像。

ASP.NET MVC3: Image loading through controller

public ActionResult ShowImage(id) 
{
    var file = @"C:\BBB\"+id;
    var ext = file.Split('.').Last();
    return File(file, "image/"+ext, Path.GetFileName(file));
}

这样称呼:

<img src="@Url.Action("ShowImage",new { id="1.png" })" alt="1.png"/>

对于循环,您可以在现有视图中执行以下操作:

 for (var i = 1; i < 10; i++ ) {
    @Html.Partial("ShowIfExists", new {id=i.ToString()+".png" })
 }

创建一个名为_ShowIfExists.cshtml的新Razor视图

 <img src="@Url.Action("ShowImage",new { id=Model })" alt="1.png"/>

并添加相应的操作:

public ActionResult ShowIfExists(id)
    if ( System.IO.File.Exists(@"C:\BBB\"+id) )
        return PartialView("_ShowIfExists",null,id);
    }
    return new EmptyResult();
}

答案 1 :(得分:0)

图像标记的src需要指向图像驻留在Web服务器上的位置。

<img src="http://myserver.com/myimage.png" />

答案 2 :(得分:0)

您需要引用具有相对地址的图像,如下所示:../images/1.png

查看本教程以开始:W3schools Html Tutorial/img Tag

答案 3 :(得分:0)

如果您坚持要显示本地图像,则应包括协议,在本例中为file://:

<img src="file://C:/BBBB/1.png" />

对于真正的项目来说,这不是一个好主意。