所以我试图将字节数组转换为图像,但是出现此错误:
System.ArgumentException:'参数无效。' byte []来自SQL Server中数据类型为“图像”的数据库。
我已经尝试了StackOverflow其他问题中提供的所有解决方案,但这些解决方案对我没有用;这是我的代码:
//biblioteca.herramientas is where I make the connection with the server
DataSet dataset_Image;
dataset_Image = Biblioteca.Herramientas(string.Format("SELECT * FROM Image WHERE id_Image = " + 1));
array = (byte[])dataset_Image.Tables[0].Rows[0]["image"];
public byte[] TheImage
{
set
{
theImage = ImageConversor.ByteArrayToImage(value);
PictureBox2.Image = theImage;
}
}
这是我出现错误的地方:
public class ImageConversor
{
public static Image ByteArrayToImage(byte[] byteArrayIn)
{ //HERE THE ERROR APPEARS
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
}
The following picture is the SQL table that I am accessing to:
仅此而已,如果您需要更多信息,我会分享的,谢谢您的时间,希望您过得愉快。 (:
编辑: 如果我直接从SQLS添加图片,将列“ image”(存储图片的地方)的数据类型从“ image”更改为“ varbinary(MAX)”,然后使用以下代码插入图片,则代码可以正常工作: / p>
insert into Image select * from openrowset (bulk N'picture directory', single_blob) as image
问题是我不能用它来添加图片,但是我不知道,也许这有助于解决这个问题:/