我尝试使用wpf mvvm将图像文件保存到数据库中。我使用FileStream读取图像文件并保存在byte []中,如下所示:
data = new byte[fs.Length];
然后,我将值通过参数传递给save方法。当我运行程序并使用Profiler跟踪它时,我意识到byte []正在变为如下:
exec dbo.InsertImage N'System.Byte[]',N'.png'
我在调试中得到的byte []是二进制的。我不知道为什么它在尝试执行查询时会变成System.Byte []。谁能给我一些解释并为我提供解决方案?非常感谢。
答案 0 :(得分:0)
你得到" System.Byte []"因为这是你data.ToString()
时得到的。我的猜测是,无论您使用哪种方法将此字节数组保存到数据库中,都不知道如何处理byte[]
类型,因此它只需调用ToString()
。< / p>
看看这个答案,它显示了如何将byte[]
保存到SQL Server中。 Save byte[] into a SQL Server database from C#
然后,检查您的保存方法,确保它可以正确处理byte[]
。