如何读取数据库中的byte []并将其转换为图像?

Ser*_*pia 4 c# image bytearray

我有一个存储过程,返回varbinary(max)类型数据.我想将该数据转换为图像.

但是这行有问题:

public Image CargarAvatar(string login)
        {
            System.Object[] Args = new System.Object[1];
            Args[0] = login;

            DataTable X = new DataTable();
            X = TraerDataTable("sp_CargarAvatarUsuario", Args);

            byte[] ImagemByte = Convert.to (X.Rows[0][0].ToString());


            MemoryStream ms = new MemoryStream();
            Image returnImage = Image.FromStream(ms);
            return returnImage;
        }
Run Code Online (Sandbox Code Playgroud)

请帮忙!:d

Guf*_*ffa 11

varbinary字段作为字节数组返回,因此您只需要将其强制转换:

byte[] ImagemByte = (byte[])X.Rows[0][0];
Run Code Online (Sandbox Code Playgroud)

然后使用该数组创建内存流:

MemoryStream ms = new MemoryStream(ImagemByte);
Run Code Online (Sandbox Code Playgroud)