我将图像转换为客户端上的字节数组在我的wp7应用程序,然后将其发送到 Web服务(服务器),代码如下所示--->字节数组Base64String(图像转换)
客户端
private void SendImage(byte[] data, long UserID)
{
Uri uri = new Uri("some uri");
IDictionary<string, object> bytesToSend = new Dictionary<string, object>();
bytesToSend.Add("ImageBytes", Convert.ToBase64String(data));
PostClient post = new PostClient(bytesToSend);
post.DownloadStringAsync(uri);
}
服务器侧
[HttpPost]
public bool SaveImage(object ImageBytes, Int64 UserID = 1)
{
string ImgStr = ((string[])(ImageBytes))[0];
byte[] ImgBytes = Convert.FromBase64String(ImgStr); ///<----///ERROR
Image ItemImage;
using (MemoryStream ms = new MemoryStream(ImgBytes))
{
ItemImage = Image.FromStream(ms);
}
PostUserItems(ItemImage);
return true;
}
BU吨在接收端发生
无效长度为一个基座64 char数组
你确定发送了base64编码吗?看看ImgStr。 –
ques编辑,仍然存在相同的问题 –
不应该'行'字符串ImgStr =((字符串[])(ImageBytes))[0];'而不是'字符串ImgStr =(字符串)ImageBytes;'?我认为那个疯狂的演员就是这个问题。 –