【发布时间】:2011-04-18 19:34:37
【问题描述】:
我需要从我的云服务器下载一个 zip(或 gzip)文件到 Windows phone 7 文件系统并解压缩 zip 中的文件夹内容。
通过搜索,我找不到完整的解决方案。我使用 HttpWebRequest 来获取二进制内容,但不确定如何进一步进行。本机 BinaryReader 不适用于 Windows Phone,并且 Windows Phone 7 的 HttpWebRequest.Headers 似乎没有用于指定编码类型的“添加”API。我也了解到 GZipStream 不适用于 Windows Phone 7。
下面是sn-p的代码:
private void btnReadUrl_Click(object sender, RoutedEventArgs e)
{
System.Uri targetUri = new System.Uri("http://cloud/images.gz");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request);
}
private void ReadWebRequestCallback(IAsyncResult callbackResult)
{
HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);
using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
{
string results = httpwebStreamReader.ReadToEnd();
//TextBlockResults.Text = results; //-- on another thread!
Dispatcher.BeginInvoke(() => txtResult.Text = results);
}
}
我是 C# 新手,我正在尝试将我的应用程序从 Android 复制到 Windows 手机。
您能否指导我阅读 GZip 内容、将其写入文件系统并将内容解压缩到文件夹中需要什么 StreamReader。
【问题讨论】:
标签: windows-phone-7 httpwebrequest gzip