为什么在服务里把 传入的stream转成byte[]格式报错 说是不支持方法
代码如下:
public AdminInfoUpdateResponse AdminInfoUpdate(AdminInfoUpdateRequest request)
{
byte[] Imgbytes = new byte[request.UserImage.Length];
request.UserImage.Read(Imgbytes, 0, Imgbytes.Length);
// 设置当前流的位置为流的开始
request.UserImage.Seek(0, SeekOrigin.Begin);
}
其中用到的传参数类以及返回值的类
[MessageContract]
public class AdminInfoUpdateRequest : IDisposable
{
[MessageHeader]
public string AuthNum;
[MessageHeader]
public string AdminID;
[MessageHeader]
public string VipCardCode;
[MessageHeader]
public string UserName;
[MessageHeader]
public string UserSex;
[MessageHeader]
public string UserTel;
[MessageHeader]
public string UserBirthday;
[MessageHeader]
public string UserAddress;
[MessageHeader]
public string RoleID;
[MessageHeader]
public string UserIdentityCard;
[MessageHeader]
public string FarmID;
[MessageHeader]
public string UserID;
[MessageHeader]
public string Memo;
[MessageHeader]
public string format;
[MessageHeader]
public string sign;
[MessageBodyMember(Order = 1)]
public Stream UserImage;
public void Dispose()
{
if (UserImage != null)
{
UserImage.Close();
UserImage = null;
}
}
}
[MessageContract]
public class AdminInfoUpdateResponse
{
[MessageBodyMember(Order = 1)]
public Stream result;
}
------解决思路----------------------
1、二进制传输
2、压缩传输,解压展示
------解决思路----------------------
二进制=byte文件,代表的是一种数据格式。
stream是流的意思,代表的是一种机制。
------解决思路----------------------
把你的 public Stream UserImage 改为 public byte[] UserImage 有什么改不来的?