0

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

4

2 回答 2

0

如果你有 FileData 作为 abyte[]和 mime 类型作为 a 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})" />
于 2013-06-04T09:13:31.933 回答
0

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

在 mvc4 的 _layout 中显示数据库中的图像

干杯,罗伯

于 2013-06-04T09:13:35.950 回答