【发布时间】:2010-09-30 07:18:56
【问题描述】:
我如何从远程服务器下载压缩文件夹并将文件夹中的整个文件解压缩并将它们存储在与浏览器应用程序中的银灯 3 或 4 隔离的存储空间中。有什么建议请
【问题讨论】:
-
可以使用 Silverlight 4 的提升权限吗?您希望支持的最低 Windows 版本?
标签: c# silverlight out-of-browser
我如何从远程服务器下载压缩文件夹并将文件夹中的整个文件解压缩并将它们存储在与浏览器应用程序中的银灯 3 或 4 隔离的存储空间中。有什么建议请
【问题讨论】:
标签: c# silverlight out-of-browser
您可以像使用 Webclient 类的任何文件一样下载 zip 文件,查看 downloading content on demand 的 msdn 文档中的详细信息和示例,它甚至讨论了如何从 zip 存档下载和获取特定文件。
但是,如果您想列出文件,请查看 this blogpost,我实际上并没有尝试过,但它显示了如何获取 zip 存档中的所有文件。
编辑:我还发现 this discussion 提供了一些想法,其中提到了 Silverlight 的 Small unzip utility,这似乎更强大。
然后使用IsolatedStorageFile 类来保存文件。
祝你好运! 奥拉
【讨论】:
对于(解)压缩,我强烈建议您使用开源 DotNetZip library。 DotNetZip 在 Ms-PL 下获得许可,非常易于使用。
例如,压缩也很容易:
using (ZipFile zip = new ZipFile())
{
zip.AddEntry("MyFileName.png", null, pngStream);
// Save to stream from SaveFileDialog
zip.Save(stream);
}
【讨论】:
Silverlight SharpZipLib 是 SharpZipLib 的完整 Silverlight 3/4 和 Phone7 端口,较少 AES 加密。
在所有 Silverlight 压缩中都会发现一个显着限制:仅支持条目元的 UTF8 编码。
【讨论】:
您可以使用 http 或 frp 流获取文件,然后使用 GZipStream(.NET 类)解压缩流/文件。
Gzip 流: http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
干杯 --乔克
【讨论】: