从远程服务器下载zip文件夹并从silverlight应用程序解压缩文件夹

时间:2010-01-25 10:54:10

标签: c# silverlight out-of-browser

如何从远程服务器下载压缩文件夹并解压缩文件夹中的所有文件,并将它们存储在与浏览器应用程序中的银灯3或4隔离的存储空间中。有任何建议,请

4 个答案:

答案 0 :(得分:5)

您可以使用Webclient类下载任何文件的zip文件,查看msdn文档中有关downloading content on demand的详细信息和示例,它甚至讨论如何从zip存档下载和获取特定文件。

但是,如果您要列出文件,请查看this blogpost,我实际上没有尝试过,但它会显示如何获取zip存档中的所有文件。

编辑:我还发现this discussion提供了一些想法,除此之外还提到了Silverlight的这个Small unzip utility,它看起来有点健壮。

然后使用IsolatedStorageFile类保存文件。

祝你好运! 奥拉

答案 1 :(得分:0)

对于(un)压缩,我强烈建议您使用开源DotNetZip library。 DotNetZip根据Ms-PL许可,非常易于使用。

例如,压缩也很容易:

 using (ZipFile zip = new ZipFile())
 {
     zip.AddEntry("MyFileName.png", null, pngStream);

     // Save to stream from SaveFileDialog
     zip.Save(stream);
 } 

答案 2 :(得分:0)

Silverlight SharpZipLib是一个完整的Silverlight 3/4和Phone7端口,更少的AES加密,SharpZipLib

显着限制是您将在所有Silverlight压缩中找到的限制:仅支持条目元的UTF8编码。

答案 3 :(得分:-2)

您可以使用http或frp stream获取该文件,然后使用GZipStream(.NET Class)来解压缩流/文件。

GzipStream: http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx

干杯 --Jocke