У меня есть требование загрузить zip (или gzip) файл с моего облачного сервера в файловую систему Windows phone 7 и разархивировать содержимое папки в zip.
В результате поиска я не смогнайти полное решение для этого.Я использовал HttpWebRequest для получения бинарного контента, но не уверен, что делать дальше.Собственный BinaryReader недоступен для Windows Phone, и, по-видимому, HttpWebRequest.Headers для Windows Phone 7 не имеет API «Добавить» для указания типа кодировки.Я также понимаю, что GZipStream недоступен для Windows Phone 7.
Ниже приведен фрагмент кода:
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.
Не могли бы вы рассказать, что StreamReader требуется для чтения содержимого GZip, записи его в файловую систему и разархивирования содержимого в папки.