Silverlight中通过调用WebService来显示数据库中以流形式保存的图片

Silverlight中通过调用WebService来显示数据库中以流形式保存的图片,第1张

概述在Web开发中,常见的做法如下: 将数据库中读取出来的内容以字节数组的形式存储,字符串型转字节数组的方法是Convert.FromBase64String,然后以二进制写的方法将图片信息写在页面中。主要代码如下: SWDM dm = new SWDM();protected void Page_Load(object sender, EventArgs e){ string st

在Web开发中,常见的做法如下:

将数据库中读取出来的内容以字节数组的形式存储,字符串型转字节数组的方法是Convert.FromBase64String,然后以二进制写的方法将图片信息写在页面中。主要代码如下:


SWDM dm = new SWDM();protected voID Page_Load(object sender,EventArgs e){    string strsql = "select picContent from tb_ssxq where OBJECTID=1";    DataSet ds = dm.getsql(strsql);    byte[] bytefileStream = Convert.FromBase64String(ds.tables[0].Rows[0]["picContent"].ToString());    Response.BinaryWrite(bytefileStream);    Response.End();}


在Silverlight中如何实现呢,其实差不多,只不过在WebService中的方法的返回值要是byte[]类型,然后在Silverlight中利用MemoryStream来接收并存储图片流信息,然后将其作为BitmAPImage的Source即可,最后利用Silverlight的Image控件即可显示出该图片。

WebService中的代码如下:

     /// <summary>    /// 根据险情ID获取实时险情的图片信息    /// </summary>    /// <param name="paramCity"></param>    /// <returns></returns>    [WebMethod(Description = "获取某一个实时险情的图片信息")]    public byte[] getSSXPictureQByID(string xqID)    {        byte[] bytefileStream = null;        string strsql = "select picContent  from tb_ssxq where OBJECTID=" + int.Parse(xqID);        DataSet ds = dm2.getsql(strsql);        bytefileStream = Convert.FromBase64String(ds.tables[0].Rows[0]["picContent"].ToString());        return bytefileStream;    }

Silverlight中代码:

<GrID x:name="LayoutRoot" Background="White">   <border borderBrush="#FF5BB0FF" borderThickness="1" margin="0">         <Image x:name="Image1" margin="0" Stretch="None"/>   </border></GrID>


private voID UserControl_Loaded(object sender,RoutedEventArgs e){        //获取险情图片信息        getPictureInfoSoapClIEnt clIEnt = new getPictureInfoSoapClIEnt();        clIEnt.getSSXPictureQByIDCompleted += new EventHandler<getSSXPictureQByIDCompletedEventArgs>(clIEnt_getSSXPictureQByIDCompleted);        clIEnt.getSSXPictureQByIDAsync(ID);}//险情图片voID clIEnt_getSSXPictureQByIDCompleted(object sender,getSSXPictureQByIDCompletedEventArgs e){        MemoryStream ms = new MemoryStream(e.Result);        BitmAPImage image = new BitmAPImage();        image.SetSource(ms);        this.Image1.source = image;}
总结

以上是内存溢出为你收集整理的Silverlight中通过调用WebService来显示数据库中以流形式保存的图片全部内容,希望文章能够帮你解决Silverlight中通过调用WebService来显示数据库中以流形式保存的图片所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存