我在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属性指定静态未知的类型。 在
答案 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[].