我目前正在使用Visual Studio 2008(VB.Net)和SQL Server 2008.我将数据库保存为image
。当我将其提取到我的代码中时,它是System.Byte[]
,我无法将其转换为System.Drawing.Image
以保存到我的DevExpress(v10.2).XtraEditors.ImageEdit。
我试过
Dim imgStream As MemoryStream = New MemoryStream(image, 0, image.Length)
或
Dim imgStream As MemoryStream = New MemoryStream(image)
然而即便如此,当我尝试时,我无法拨打image.FromStream(imgStream)
或bitmap.FromStream(imgStream)
,因为我收到“参数无效”。
编辑:
我们正在使用SQL 2000上的先前系统进行更新。当我运行上一个程序时,我可以在程序中看到该图像。当我运行新的图像时,我迁移的任何图像都是“无效参数”,但是我添加到数据库的任何图像(通过程序上的输入)都是可见的。当我从旧数据库和新数据库中获取图像时,它们完全相同。在迁移数据时我应该考虑SQL 2000和SQL 2008之间的区别吗?
答案 0 :(得分:1)
试试这个:
Dim MyConverter as ImageConverter = new System.Drawing.ImageConverter()
Dim MyImage as Image = imageConverter.ConvertFrom(byteArray)
但是,此错误通常意味着您的输入数据无效。你的字节数组包含有效的图像数据有多确定?