locked
Silverlight如何从Sql中读取图片在客户端显示呢? RRS feed

  • 问题

  • 在客户端选择查询条件,传递到服务器,数据中包含图片信息,如何通过WCF实现传递,显示图片过程呢?
    • 已移动 Raymond Tang 2010年1月11日 4:10 (发件人:.NET Framework 一般性问题讨论区)
    2010年1月11日 3:20

答案

  • 你们好,
     
            从Server端所读取的Image应该是一个Byte[],如何将这个Byte[]传送到客户端我就不在叙述了. 
       
           到了client端以后. 可以这样转化成图片
      
           DataServiceRef.DataServiceClient client = new SilverlightApplication2.DataServiceRef.DataServiceClient();
           client.DoWorkCompleted += new EventHandler<SilverlightApplication2.DataServiceRef.DoWorkCompletedEventArgs>(client_DoWorkCompleted);
           client.DoWorkAsync();
                
                

            void client_DoWorkCompleted(object sender, SilverlightApplication2.DataServiceRef.DoWorkCompletedEventArgs e)
            {
                MemoryStream ms = new MemoryStream(e.Result);
                BitmapImage image = new BitmapImage();
                image.SetSource(ms);
            }
          
        Dowork 类似这样
            public byte[] DoWork()
            {
                ******************* //获取SqlServer中的数据
                return result;
            }

    • 已标记为答案 lxn 2010年1月15日 0:37
    2010年1月12日 10:31

全部回复

  • 包含图片传递,可以把图片转换为字节进行传递
    努力+方法=成功
    2010年1月11日 3:31
  • 有代码吗?请具体点?

    2010年1月11日 3:33
  • 能不能具体点,或展示一下代码。
    我也很想知道

    2010年1月12日 8:32
  • 你们好,
     
            从Server端所读取的Image应该是一个Byte[],如何将这个Byte[]传送到客户端我就不在叙述了. 
       
           到了client端以后. 可以这样转化成图片
      
           DataServiceRef.DataServiceClient client = new SilverlightApplication2.DataServiceRef.DataServiceClient();
           client.DoWorkCompleted += new EventHandler<SilverlightApplication2.DataServiceRef.DoWorkCompletedEventArgs>(client_DoWorkCompleted);
           client.DoWorkAsync();
                
                

            void client_DoWorkCompleted(object sender, SilverlightApplication2.DataServiceRef.DoWorkCompletedEventArgs e)
            {
                MemoryStream ms = new MemoryStream(e.Result);
                BitmapImage image = new BitmapImage();
                image.SetSource(ms);
            }
          
        Dowork 类似这样
            public byte[] DoWork()
            {
                ******************* //获取SqlServer中的数据
                return result;
            }

    • 已标记为答案 lxn 2010年1月15日 0:37
    2010年1月12日 10:31
  • 好的,谢谢哈!
    2010年1月15日 0:37