如何在MVC 4中显示从字节生成的图像

时间:2013-06-04 09:07:52

标签: asp.net-mvc-4

我是MVC的新手,我遇到了一个问题,我需要在我的MVC 4应用程序中显示一个存储在数据库中作为字节的图像我知道如何从字节生成图像但我不知道如何在App中显示它。我怎么解决这个

2 个答案:

答案 0 :(得分:0)

如果您将FileData作为byte[]并将mime类型作为string,请尝试使用此控制器方法:

    public FileContentResult Get(Guid fileId)
    {
        var file = _fileService.GetFile(fileId);
        if (file != null)
        {
            return File(file.FileData, file.MimeType); 
        }
        else
        {
            // Return 1x1px transparent png (67 bytes) - This is a clever trick of mine to serve an empty image without reading it from the disk. You may not want to do this!
            return File(Convert.FromBase64String("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg=="), "image/png");
        }
    }

然后在您的视图中,您需要图像的URL,这是通过执行以下操作获得的:

<img src="@Url.Action("Get", new {fileId = item.ID})" />

答案 1 :(得分:0)

如果要直接从数据库显示图像,则需要一个控制器来传递图像并在视图中调用该控制器。这篇文章展示了如何做到这一点:

Display image from database in _layout in mvc4

干杯, 罗布