【问题标题】:Gzip Decompression ErrorGzip 解压错误
【发布时间】:2014-11-27 13:57:45
【问题描述】:

我想解压缩一个 zip 文件。

我使用的代码很简单。

我不明白为什么会出现这个错误;

GZip 标头中的幻数不正确。确保您传递的是 GZip 流。

        public static void Decompress(Stream fileToDecompress)
           {
           using (FileStream decompressedFileStream = File.Create("BinaryTest"))
           {
              using (GZipStream decompressionStream = new GZipStream(fileToDecompress, CompressionMode.Decompress))
              {
                decompressionStream.CopyTo(decompressedFileStream);   **Error**
              }
           }
        }

【问题讨论】:

    标签: c# gzip gzipstream


    【解决方案1】:

    gzip 不是 zip。 zip 不是 gzip。您可以使用ZipFile classDotNetZip 来提取一个zip 文件。

    【讨论】:

      【解决方案2】:

      您是否检查过fileToDecompress 是否是正确的 GZipStream?您可以将其复制到本地文件并检查它是否有效。错误表明流中的数据无效。

      【讨论】:

      • 我得到了 fileToDecompress = _assembly.GetManifestResourceStream("path");我应该将流转换为 GZipStream 吗?
      • 所以只需将此流复制到文件中并检查其中的内容。代替 GZipStream 使用 FileStream 进行测试。我 100% 确定这个流不是 GZip
      猜你喜欢
      • 2014-10-21
      • 2012-06-26
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多