【问题标题】:Sharpzlib read an ZipInputStream with resumeSharpzlib 读取带有简历的 ZipInputStream
【发布时间】:2012-09-11 15:59:06
【问题描述】:

我想要实现的是使应用程序能够提取大型远程文件(从 ftp 或 http),而无需完全下载它,并且在网络故障的情况下可以恢复提取。

按照这个例子

http://wiki.sharpdevelop.net/SharpZipLib-Zip-Samples.ashx#Unpack_a_zip_using_ZipInputStream_eg_for_Unseekable_input_streams_5

我可以提取文件,但如果出现网络故障,我无法恢复提取。 我尝试使用 ZipInputStream.Skip(length) ,其中“length”是本地下载/解压缩文件的大小,但它似乎不起作用。它会抛出如下异常:

“ICSharpCode.SharpZipLib.SharpZipBaseException”类型的第一次机会异常发生在 ICSharpCode.SharpZipLib.dll 中 破碎的未压缩块

有什么想法吗?有可能实现吗?

【问题讨论】:

    标签: c# unzip resume sharpziplib zipinputstream


    【解决方案1】:

    从 Sharpzlib 团队的论坛上获得了答案。

    这样做是可能的。这很简单。在实例化一个新的 ZipInputStream 时,您需要传递一个“专门的”流,它将包装一个 FTP 连接和一个由 FtpWebResponse 获得的流。

    sharpzlib 团队已将此作为示例添加到他们的 wiki 站点上。看看上一篇教程

    https://github.com/icsharpcode/SharpZipLib/wiki/Zip-Samples

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2010-09-09
      • 2019-02-17
      • 1970-01-01
      • 2014-07-19
      • 2012-06-14
      • 1970-01-01
      • 2015-06-23
      • 2013-07-05
      相关资源
      最近更新 更多