如何从Silverlight应用程序将图像存储在SQL Server数据库中?

时间:2012-02-13 20:31:43

标签: c# .net sql-server silverlight image

我想从Silverlight项目中将一些图片存储到我的SQL Server数据库中,我需要一些帮助,所以我的问题是:

  1. 如何将图像转换为二进制文件,将其存储到我的数据库中(存储所有图像,而不仅仅是网址)

  2. 有没有其他解决方案,没有通过二进制类型? (因为它存在于SQL Server中的图像类型)

  3. 最后,存储图像时,如何从Silverlight中读取它?

  4. 提前谢谢你。

3 个答案:

答案 0 :(得分:3)

您需要将System.Drawing.Image转换为字节数组并将字节数组保存到数据库中。

System.Drawing.Image image;
System.IO.MemoryStream imageStream;
byte[] imageBytes;

// image = your image object
imageStream = new System.IO.MemoryStream();
image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg); // Use whatever format your image is.
imageBytes = imageStream.ToArray();
// Save imageBytes to a DB column of type VARBINARY(MAX)

要使用System.Drawing.Image从字节数组中将数据恢复回System.Drawing.Image.FromStream(System.IO.Stream stream)对象。

答案 1 :(得分:0)

答案 2 :(得分:0)

http://www.pitorque.de/MisterGoodcat/post/Storing-images-in-SQL-Server-with-RIA-Services.aspx

它功能齐全,因为用户可以从本地磁盘中选择图像并将其上传到存储在数据库中的服务。用户可以检索数据库中所有图像的列表并将其下载到客户端以供观看,并且他们可以从数据库中删除现有图像。