将Silverlight图像存储在SQL数据库中 [英] Store silverlight images in SQL database
本文介绍了将Silverlight图像存储在SQL数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用支持Silverlight的Web服务将Silverlight捕获的快照保存到MSSQL服务器数据库。当我运行项目时,silverlight应用程序工作正常,但图像不会保存在数据库中。我尝试了很多不同的方法,但我找不到任何解决方案。有谁可以帮我解决这个问题?谢谢..
这是我的代码
I use a Silverlight enabled Web Service to save Silverlight captured snapshots to MSSQL server database. when I run the project silverlight app is working fine but the images doesn''t save in the database. I tried a lot of different methods but I couldn''t find any solution. Can anyone please help me to solve this problem? thanks..
this is my code
CaptureSource source;
WriteableBitmap bitmap;
ImageService.ImageServiceClient client = new ImageService.ImageServiceClient();
//MainPage.xaml.cs
private void CaptureImageCompleted(object sender,
CaptureImageCompletedEventArgs e)
{
try
{
client.OpenAsync();
bitmap = new WriteableBitmap(e.Result);
byte[] buffer = bitmap.ToByteArray();
client.SaveImageAsync(buffer, txtname.Text);
txtname.Text = "Done";
}
catch (Exception e1)
{
txtname.Text = "Error";
}
}
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);
//ImageService.svc.cs
[OperationContract]
public void SaveImage(byte[] buffer, String Name)
{
ImageConverter ic = new ImageConverter();
Image img = (Image)ic.ConvertFrom(buffer);
try
{
conn.Open();
SqlCommand insertCommand = new SqlCommand("Insert into [pics] (label, pic) Values (@Label, @Pic)", conn);
insertCommand.Parameters.Add("Pic", SqlDbType.Image, 0).Value = ConvertImageToByteArray(img, ImageFormat.Jpeg);
insertCommand.Parameters.Add("Label", SqlDbType.VarChar, 0).Value = Name;
int queryResult = insertCommand.ExecuteNonQuery();
}
catch (Exception e1) { }
}
//Convert Image to byte[]
private byte[] ConvertImageToByteArray(Image imageToConvert, ImageFormat formatOfImage)
{
byte[] Ret;
try
{
using (MemoryStream ms = new MemoryStream())
{
imageToConvert.Save(ms, formatOfImage);
Ret = ms.ToArray();
}
}
catch (Exception) { throw; }
return Ret;
}
推荐答案
您好,可以找到您的解决方案这里。
希望有帮助
Hi there, you can find your solution here.
Hope it helps
这篇关于将Silverlight图像存储在SQL数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文