2012-04-17 5 views
1

У меня есть довольно сложный сценарий, который я пытаюсь портировать Windows 8 с Windows Phone 7.WebClient, Zip, Изолированное хранилище в Windows 8 метро

мне нужно

  1. Скачивание S Zip файл с интернет
  2. Распакуйте его в изолированном хранилище
  3. Читайте распакованные XML-файлы и изображения

Проблемы

  1. В Windows Phone 7 Я использую WebClient, который больше не доступен в Windows 8. Я попытался HttpClientHandler, но я только в состоянии загрузить файл ZIP в виде строки и я не буду знать, как сохранить его в изоляции место хранения.

  2. Я нашел ZipArchive класс, но он принимает IO.Stream, и я не совсем уверен, как использовать его (если я имел файл сохранить somewehre - точка 1)

ответ

4

Я только начинаю с новым API, а также (так что это может быть прочь немного), но на основе документации:

Или вы можете просто использовать метод HttpClient.GetStreamAsync, чтобы получить поток (намного проще):

HttpClient client = new HttpClient(); 
Stream stream = await client.GetStreamAsync(uri); 

Если это не сработает, то вы также можете просто обернуть строку, которую вы получите теперь в MemoryStream и передать его ZipArchive, но это звучит небезопасно из-за возможных проблем с кодированием.

+0

спасибо, я никогда не думал о таком простом решении. У меня было 20 линий, использующих передачу фона и сохранение файлов –