11
A
回答
15
你有两个问题:
- 的(可以理解的)混乱关于SQL Server中的
Image
数据类型。这实际上只是一个大的二进制对象(一个常见的BLOB)。为了保存图像(或其他任何东西)在这个列中,您必须先将它转换为byte[]
,然后将该字节数组存储在列中。 - 您正在使用不推荐使用的
Image
数据类型。如果您可以控制此设计,请将其更改为使用varbinary(MAX)
。虽然Image
类型仍在SQL Server 2008 R2中,但它在某些时候会从未来的版本中删除。
为了得到一个byte[]
代表的形象,尝试了这一点:
byte[] data;
using(System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
image.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
data = stream.ToArray();
}
的data
变量现在包含图像的二进制数据,你可以使用它作为你的参数值。你可以在这里采取额外的步骤(例如以JPEG等另一种格式保存),但这至少应该让你开始。
检索数据时,它也会作为byte[]
返回,因此您需要再次将其转换为图像。
byte[] data = ...;
Image image = Image.FromStream(new System.IO.MemoryStream(data));
1
0
该错误是很清楚的,存在来自GDI图像对象为一个字节数组没有转换(这是什么SQL Server数据列类型Image真的是)。在将其添加为参数之前,需要将Image对象转换为字节数组。
相关问题
- 1. Android:将图像保存到数据库
- 2. 将图像保存到数据库中
- 3. 将图像保存到数据库MVC3
- 4. 如何将图像保存到数据库中?
- 5. 如何使用SQLite和PHP将图像保存到数据库?
- 6. 如何通过Hibernate将图像保存到SQLite数据库?
- 7. 如何将本地图像保存到在线数据库中
- 8. 如何将图像保存到我的数据库中?
- 9. 如何将图像保存到sqlite数据库
- 10. 如何使用ASP.NET Core将图像保存到数据库?
- 11. 如何使用UWP将图像保存到azure mysql数据库
- 12. 如何将Kineticjs画布上的图像保存到数据库?
- 13. 如何在android中将图像保存到SQLite数据库?
- 14. 如何将Telerik RadBinaryImage图像保存到SQL Server数据库
- 15. 如何将图像路径保存到数据库? MVC。
- 16. 如何保存图像数据库
- 17. 如何将图像保存到文件中并使用MVC3将图像名称保存到数据库?
- 18. 如何将原始图像数据保存到PNG图像?
- 19. 保存图像源到数据库
- 20. 保存图像到SQL数据库
- 21. 保存图像到数据库
- 22. 如何将Handsontable保存到数据库
- 23. 将图像保存到核心数据?
- 24. 我应该将图像二进制数据保存到数据库还是将图像保存为文件?
- 25. 将图保存到MySQL数据库
- 26. android - 将图像保存到图库
- 27. 将图像保存到图库
- 28. 将图像保存到我的图库
- 29. 将图像保存到图库中
- 30. 如何将图像文件保存在Postgres数据库上?
+1有据可查。 – 2011-01-31 15:23:27
它是错误的原因? – yonan2236 2011-01-31 15:23:59