我正在尝试实现的目的是使应用程序能够提取大型远程文件(来自ftp或http),而无需完全下载它,并且可以在网络出现故障时恢复提取。
遵循此示例
我能够提取文件但是在网络出现故障时我无法恢复提取。 我试过使用ZipInputStream.Skip(length),其中“length”是本地donloaded / unzipped文件的大小,但它似乎不起作用。它抛出异常,如:
ICSharpCode.SharpZipLib.dll中发生'ICSharpCode.SharpZipLib.SharpZipBaseException'类型的第一次机会异常 破碎的未压缩块
任何想法?是否有可能实现这个目标?
答案 0 :(得分:0)
在他们的论坛上得到了Sharpzlib团队的答案。
这样做很有可能。很简单。实例化一个新的ZipInputStream时,你需要传递一个"专门的"将包装FTP连接的流和由FtpWebResponse获取的流。
sharpzlib团队在维基站点上添加了这个例子。看看最后一个教程