7,655
社区成员
发帖
与我相关
我的任务
分享
try
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
WebResponse response = request.EndGetResponse(result) as HttpWebResponse;
if (response != null)
{
Stream responseStream = response.GetResponseStream();
using (StreamReader streamReader = new StreamReader(responseStream))
{
String strResponese = streamReader.ReadToEnd();//返回内容
MessageBox.Show(strResponese);
}
}
}
catch (Exception ex)
{
String strError = ex.ToString();
}
private byte[] bSendingFile = null;
private void Update()
{
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream sendingZipStream = new IsolatedStorageFileStream(Used.strZipPath, FileMode.Open, isf))
{
try
{
// 要上传的文件
bSendingFile = new byte[sendingZipStream.Length];
sendingZipStream.Read(bSendingFile, 0, bSendingFile.Length);
// 根据uri创建HttpWebRequest对象
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(new Uri(Used.strUpdateUrl, UriKind.Absolute));
httpReq.Method = "POST";
httpReq.ContentType = "multipart/form-data;";
IAsyncResult asyncResult = httpReq.BeginGetRequestStream(new AsyncCallback(RequestStreamCallback), httpReq);
}
catch (Exception ex)
{
String strError = ex.ToString();
}
}
}
}
/// <summary>
/// 返回用于将数据写入Stream,写入数据,并发送
/// </summary>
/// <param name="result"></param>
private void RequestStreamCallback(IAsyncResult result)
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
// 返回用于将数据写入某 URI 资源的 Stream
Stream requestStream = request.EndGetRequestStream(result);
requestStream.Write(bSendingFile, 0, bSendingFile.Length);
requestStream.Flush();
requestStream.Close();
request.BeginGetResponse(new AsyncCallback(ResponseCallback), request);
}
/// <summary>
/// 获取最终的返回结果
/// </summary>
/// <param name="result"></param>
private void ResponseCallback(IAsyncResult result)
{
try
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
WebResponse response = request.EndGetResponse(result) as HttpWebResponse;
if (response != null)
{
Stream responseStream = response.GetResponseStream();
using (StreamReader streamReader = new StreamReader(responseStream))
{
String strResponese = streamReader.ReadToEnd();//返回内容
MessageBox.Show(strResponese);
}
}
}
catch (Exception ex)
{
String strError = ex.ToString();
}
}