在 .aspx 页面上将字节显示为图像

Posted

技术标签:

【中文标题】在 .aspx 页面上将字节显示为图像【英文标题】:Display bytes as images on an .aspx page 【发布时间】:2011-03-26 18:09:52 【问题描述】:

我正在使用数据库将客户的图像存储为字节。如何在 .aspx 页面上呈现这些图像?

【问题讨论】:

【参考方案1】:

这可以通过将字节数组转换为 Base64 图像来轻松完成。

public string GetImageAsBase64String(byte[] bin)

    if (bin != null)
    
        return "<img src=\"data:image/jpeg;base64," + Convert.ToBase64String(bin) + "\">";
    
    else
    
       return null;
    


//usage, for demo purposes an uploaded image from a FileUpload Control
Label1.Text = GetImageAsBase64String(FileUpload1.FileBytes);

【讨论】:

【参考方案2】:

两种解决方案。

    构建处理程序页面。它将 ImageID/RowID 作为 GET 参数,并返回 mimetype image/jpeg 或 image/png 的数据。

    使用wikipedia 中解释的 DATA uri 方案。

【讨论】:

很好.. 我从来没有听说过 DATA uri sheme。 +1 给你。这就是我喜欢这个网站的原因。每天都有新东西... @david - 即使我在职业生涯的后期就知道了。我相信那里只允许文件路径。 @ankit +1,@David 同上。从来没有听说过;将为我解决一个很大的问题:预下载 png 图像。包含 base-64 编码图像的 CSS 类将(我认为!)比其他知名但 imo 有点丑陋、骇人听闻的预下载方案更快、更可靠、更可重复。 @lcplben .. 哦耶。这很难看,因为这些图像永远不会被缓存并与页面内容一起旅行。不适合更大的图像。并且不要为了预加载图像而使用第二种方法。 @Ankit 感谢您的回复。我们是否必须对每个图像字节数组使用 data:image/png;base64?【参考方案3】:

说明可以在这里找到:http://www.dotnetcurry.com/ShowArticle.aspx?ID=129&AspxAutoDetectCookieSupport=1

在第 4 步中,但整篇文章值得一读。

【讨论】:

以上是关于在 .aspx 页面上将字节显示为图像的主要内容,如果未能解决你的问题,请参考以下文章

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

无法从数据库中检索字节数组图像并在图片框控件中显示

bytearray 到图像 asp.net

在 NODeJS 中的 TCP 套接字上将十六进制字节转换为十进制

如何将base64位的字节数组转换成图片并显示

将字节数组转换/显示为 bmp/jpeg 图像