在 .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 页面上将字节显示为图像的主要内容,如果未能解决你的问题,请参考以下文章