无法从Web服务发送图像数据类型

时间:2011-09-25 17:57:35

标签: windows-phone-7

我在Web服务中使用这行代码来发送数据:

 byte[] bajtat = (byte[])dr["Logo"];
                            MemoryStream ms = new MemoryStream(bajtat, 0, bajtat.Length);
                            ms.Write(bajtat, 0, bajtat.Length);
                            Image img = Image.FromStream(ms, true);


                            var partite = new Partite
                            {
                                EmriPartite = dr.GetString(2),
                                /*
                                 *   SqlDataReader.GetString - gets the value of the specified column as a string
                                 */
                                NrPartive = dr.GetInt32(1),
                                Akronimi = dr.GetString(4),
                                Foto = img
                            };

它显示错误:

System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> System.InvalidOperationException:生成XML文档时出错。 ---> System.InvalidOperationException:不期望类型System.Drawing.Bitmap。使用XmlInclude或SoapInclude属性指定静态未知的类型。    在

1 个答案:

答案 0 :(得分:0)

使用WCF技术从WebService发送图像数据作为byte []应该没有任何问题。您可以为DataContract类使用[DataMember] byte []。完全读取图像数据到byte []字段。并使用WCF服务发送。

在WP7的接收部分,您可以

 
    < Image Source={Binding MyImageSource} />
Where MyImageSource is a BitmapSource Type.
    And you can set its instance .SetSource(new MemoryStream(buffer, 0, buffer.Length));
Where buffer is the byte[].