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

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

【问题讨论】:

    标签: asp.net html image


    【解决方案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】:

      两种解决方案。

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

      2. 使用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 步中,但整篇文章值得一读。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        相关资源
        最近更新 更多