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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3431095/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 04:01:44  来源:igfitidea点击:

Display bytes as images on an .aspx page

asp.nethtmlimage

提问by BreakHead

I'm using a database to store clients' images as bytes. How can I render these images on an .aspx page?

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

回答by ankitjaininfo

Two solutions.

两种解决方案。

  1. Build a handler page. That takes an ImageID/RowID as GET parameter and returns data with mimetype image/jpeg or image/png.

  2. Use DATA uri scheme as explained on wikipedia.

    <img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0 vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />

  1. 构建处理程序页面。这需要一个 ImageID/RowID 作为 GET 参数并返回带有 mimetype image/jpeg 或 image/png 的数据。

  2. 使用维基百科上解释的 DATA uri 方案。

    <IMG SRC = “数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs + 9AAAABGdBTUEAALGP C / xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV + IA AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq CH9 // q1uH4TLzw4d6 + ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0 vr4MkhoXe0rZigAAAABJRU5ErkJggg ==” ALT = “红点”/>

回答by David

Instructions can be found here: http://www.dotnetcurry.com/ShowArticle.aspx?ID=129&AspxAutoDetectCookieSupport=1

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

in step 4, but the whole article is worth a read.

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

回答by VDWWD

This can be done easily by converting the Byte Array to a Base64 image.

这可以通过将字节数组转换为 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);