ASP.Net MVC3渲染数据库存储的图像

时间:2011-03-04 02:55:26

标签: asp.net-mvc asp.net-mvc-3 razor

我有一个如下控制器,它返回一个byte []

public class ImageController : Controller
    {
        public ActionResult Show(int id)
        {


            var proxy = new ServiceProxy();
            var imgData = proxy.GetCheckImage(id);
            return File(imgData, "image/tiff");
           }
    }

我的观点如下:

<img alt ="" src='@Url.Action("show", "image", new { id = 36 })'/>

我已将图像ID硬编码以用于调试目的。

在浏览器中使用chrome / ie我得到一个需要显示图像的x。但是,如果我直接转到控制器URL http://localhost/website/image/show/id=36,图像就可以很好地下载到本地机器上了。我尝试在同一个控制器中创建一个单独的ActionResult,用于显示其他数据而没有任何运气。这是一个Win7 / IIS7本地开发。环境。

2 个答案:

答案 0 :(得分:3)

大多数浏览器都不支持Tiff。解决方案是将Tiff转换为Png文件。

这篇文章解决了你的问题:

Render image to the screen from MVC controller

答案 1 :(得分:1)

Chrome / IE是否支持Tiff?我认为不是......