Windows phone 8 Windows phone 8下载,然后解压缩到独立存储

Windows phone 8 Windows phone 8下载,然后解压缩到独立存储,windows-phone-8,zip,isolatedstorage,Windows Phone 8,Zip,Isolatedstorage,我正在编写一个WindowsPhone8应用程序,它具有以下功能 从internet下载zip文件 将其提取到隔离存储器中 我正在寻找解决方案,但一次也没有找到。如果你有任何建议,请帮忙 提前谢谢 编辑: 我将其分解为几个步骤: 检查存储是否可用-完成 检查文件是否已压缩-完成 使用后台传输或其他方法下载到本地文件夹并向用户显示信息百分比等。-还没有 将文件解压缩到独立存储中的所需位置-尚未解压缩 在那之后做什么…-完成 对于步骤4,我找到并修改了一些脚本,使用SharpGIS.unzipper

我正在编写一个WindowsPhone8应用程序,它具有以下功能

从internet下载zip文件 将其提取到隔离存储器中 我正在寻找解决方案,但一次也没有找到。如果你有任何建议,请帮忙

提前谢谢

编辑:

我将其分解为几个步骤:

检查存储是否可用-完成

检查文件是否已压缩-完成

使用后台传输或其他方法下载到本地文件夹并向用户显示信息百分比等。-还没有

将文件解压缩到独立存储中的所需位置-尚未解压缩

在那之后做什么…-完成

对于步骤4,我找到并修改了一些脚本,使用SharpGIS.unzippers lib将文件提取到隔离存储:

public async void UnzipAndSaveFiles(Stream stream, string name)
{
    using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
    {
        using (var zipStream = new UnZipper(stream))
        {
            foreach (string file in zipStream.FileNamesInZip)
            {
                string fileName = Path.GetFileName(file);

                if (!string.IsNullOrEmpty(fileName))
                {
                    StorageFolder folder = ApplicationData.Current.LocalFolder;
                    folder = await folder.CreateFolderAsync("html", CreationCollisionOption.OpenIfExists);
                    StorageFile file1 = await folder.CreateFileAsync(name, CreationCollisionOption.ReplaceExisting);
                    //save file entry to storage
                    using (var writer = new StreamWriter(await file1.OpenStreamForWriteAsync()))
                    {
                        writer.Write(file);
                    }
                }
            }
        }
    }
}
此代码未经测试,因为我尚未下载任何文件

有人能指出应该纠正的地方吗


有人能帮我修改它以提取受密码保护的文件吗?显然我有密钥。

可能想试试DotNetZip。您可以使用NuGet管理器获取。至于从互联网下载文件,关于stackoverflow有很多答案。这个链接可能会对你有所帮助。我们也可以遵循这些原则: