我有一个字节数组,试图从中显示图像。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Linq;

namespace RealPortableTerminal
{
public partial class resim : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        PortableTerminalDbEntities entity = new PortableTerminalDbEntities();
        byte[] arr = (from b in entity.Sicil where b.Id == 31 select b.Fotograf).First();

        Image rImage = null;
        using (MemoryStream ms = new MemoryStream(arr))
        {
            rImage = Image.FromStream(ms);
        }
    }
}
}

它强调FromStream并说'System.Web.UI.WebControls.Image'不包含'FromStream'的定义。似乎添加System.Data.Linq引用并没有更改任何内容。我想念什么吗?顺便说一句,我很确定我可以正确地从数据库中获取字节数组。

最佳答案

另一种方法是将字节数组转换为基数为64的字符串,并将其分配给ImageUrlrImage属性,如下所示:

rImage.ImageUrl = "data:image;base64," + Convert.ToBase64String(arr);

您不需要中间的MemoryStream或单独的页面...如果字节数组为浏览器支持的图像格式,它将显示出来。祝你好运。

关于c# - asp.net显示字节数组中的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39338359/

10-11 19:18
查看更多