1

我有一个相当复杂的场景,我尝试从 Windows Phone 7 移植到 Windows 8。

我需要

  1. 从 Internet 下载 Zip 文件
  2. 解压到隔离存储
  3. 读取解压后的 xml 文件和图片

问题

  1. 在 Windows Phone 7 中,我使用了在 Windows 8 中不再可用的 WebClient。我尝试了 HttpClientHandler 但我只能将 ZIP 文件作为字符串下载,而且我不知道如何将其保存到独立存储中。

  2. 我找到了 ZipArchive 类,但它需要一个 IO.Stream 并且我不确定如何使用它(如果我将文件保存在一些地方 - 第 1 点)

4

1 回答 1

4

我也刚开始使用新的 API(所以这可能有点偏离),但基于文档:

或者您可以只使用该HttpClient.GetStreamAsync方法来获取流(更简单):

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

如果这不起作用,那么您也可以将现在获得的字符串包装在 a 中MemoryStream并将其传递给,ZipArchive但这听起来有点不安全,因为可能存在编码问题。

于 2012-04-17T13:59:02.533 回答