在 asp.net MVC 中显示保存在数据库中的图像

Posted

技术标签:

【中文标题】在 asp.net MVC 中显示保存在数据库中的图像【英文标题】:Show image saved on database in asp.net MVC 【发布时间】:2018-01-24 19:11:58 【问题描述】:

我已使用 IMAGE 格式将图像保存在 MSSQL 服务器数据库中。 它显示为数据库中的字节,我想将该字节流转换为 html 中的图像并显示。

我已关注this tutorial。它显示为图像,即使教程描述它会正确显示图像它只显示“图像”而不是实际的图像文件。

 <td>

        @ byte[] photo = item.image;
            string imageSrc = null;
            if (photo != null)
            
                MemoryStream ms = new MemoryStream();
                ms.Write(photo, 78, photo.Length - 78);
                string imageBase64 = Convert.ToBase64String(ms.ToArray());
                imageSrc = string.Format("data:image/jpeg;base64,0", imageBase64);
            
        

        <img src="@imageSrc"  />

    </td>

代码输出

渲染结果源

请帮助我,我是 ASP.net 的初学者

【问题讨论】:

为此生成的客户端 HTML 是什么?具体来说,得到的src 值是多少?图片是有效的 JPEG 格式吗? @David 我已经添加了结果图像。 好的,HTML 怎么样? @David 我已经在问题的代码块中提到了 HTML 代码 不是浏览器中生成的 HTML,您没有。您已经展示了生成 HTML 的代码,并且假设它生成了您所期望的。不要假设,调试。生成的实际生成的 HTML 是什么? 【参考方案1】:

考虑创建一个单独的操作,使用此处提到的 File() 帮助器返回图像;

Can an ASP.NET MVC controller return an Image?

然后将 src 设置为该新操作的 Url。这将是更灵活的做事方式

【讨论】:

以上是关于在 asp.net MVC 中显示保存在数据库中的图像的主要内容,如果未能解决你的问题,请参考以下文章

保存数据库控制器类 asp.net mvc5 身份中的更改

使用 ASP.NET Core MVC,如何显示图像?

ASP.Net MVC:如何显示模型中的字节数组图像

asp.net MVC列表视图中未显示图像

如何从 ASP.NET MVC 视图显示存储在数据库中的 HTML?

ASP.NET MVC 的 AsyncController 和 Session 数据