从二进制数据转换为ASP.NET中的图像控件

kar*_*tal 13 c# asp.net image binary-data

我在我的数据库中有图像的二进制数据,我想在ASP.NET中的图像控件中显示它.怎么样?如果不可能,请找到另一种方法将其保存在数据库中并将其显示在图像控件中.

Ica*_*rus 32

img像这样创建一个常规的HTML 元素:

<img runat="server" id="image" />
Run Code Online (Sandbox Code Playgroud)

后面的代码中执行此操作:

image.src = "data:image/png;base64," + Convert.ToBase64String(imageBytes);
Run Code Online (Sandbox Code Playgroud)

其中imageBytes是byte[].

你完成了.将显示图像.


Jon*_*nor 5

很可能图像被存储为数据库中的字节数组.如果是这样,那么你可以使用这个:

public static System.Drawing.Image ByteArrayToImage(byte[] bArray)
{
    if (bArray == null)
        return null;

    System.Drawing.Image newImage;

    try
    {
        using (MemoryStream ms = new MemoryStream(bArray, 0, bArray.Length))
        {
            ms.Write(bArray, 0, bArray.Length);
            newImage = System.Drawing.Image.FromStream(ms, true);
        }
    }
    catch (Exception ex)
    {
        newImage = null;

        //Log an error here
    }

    return newImage;
}
Run Code Online (Sandbox Code Playgroud)