Windows phone 7 多部分Post的问题
我正在使用HttpWebRequest for Multipart Post将图像以字节数组的形式上传到服务器,我应该会收到一个包含Post详细信息的json字符串作为响应。但相比之下,无论帖子成功与否,我都只得到一个回复代码“OK”。有人能帮我吗 我正在使用下面的代码发布文章Windows phone 7 多部分Post的问题,windows-phone-7,post,multipart,Windows Phone 7,Post,Multipart,我正在使用HttpWebRequest for Multipart Post将图像以字节数组的形式上传到服务器,我应该会收到一个包含Post详细信息的json字符串作为响应。但相比之下,无论帖子成功与否,我都只得到一个回复代码“OK”。有人能帮我吗 我正在使用下面的代码发布文章 Dictionary<string, object> postParam; public void SubmitPost() { HttpWebRequest myRequest
Dictionary<string, object> postParam;
public void SubmitPost()
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(new Uri(url, UriKind.Absolute));
myRequest.Method = "POST";
myRequest.ContentType = string.Format("multipart/form-data; boundary={0}", boundary);
myRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), myRequest);
}
public string url
{
get
{
return "URL";
}
}
string boundary = "----------" + DateTime.Now.Ticks.ToString();
private void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
Stream postStream = request.EndGetRequestStream(asynchronousResult);
writeMultipartObject(postStream, postParam);
postStream.Close();
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
}
string res;
private void GetResponseCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
streamResponse.Close();
streamRead.Close();
res = response.StatusCode.ToString();
response.Close();
}
字典后参数;
公共无效SubmitPost()
{
HttpWebRequest myRequest=(HttpWebRequest)WebRequest.Create(新Uri(url,UriKind.Absolute));
myRequest.Method=“POST”;
myRequest.ContentType=string.Format(“多部分/表单数据;边界={0}”,边界);
BeginGetRequestStream(新的异步回调(GetRequestStreamCallback),myRequest);
}
公共字符串url
{
得到
{
返回“URL”;
}
}
字符串边界=“------------”+DateTime.Now.Ticks.ToString();
私有void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest请求=(HttpWebRequest)asynchronousResult.AsynchState;
Stream postStream=request.EndGetRequestStream(asynchronousResult);
writeMultipartObject(postStream、postParam);
postStream.Close();
BeginGetResponse(新的异步回调(GetResponseCallback),请求);
}
字符串res;
私有void GetResponseCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest请求=(HttpWebRequest)asynchronousResult.AsynchState;
HttpWebResponse=(HttpWebResponse)request.EndGetResponse(asynchronousResult);
streamResponse=response.GetResponseStream();
StreamReader streamRead=新的StreamReader(streamResponse);
streamResponse.Close();
streamRead.Close();
res=response.StatusCode.ToString();
response.Close();
}
res的值始终为“OK”您需要从
streamRead
读取响应<代码>状态代码只是表示数据已经上传