2014-11-27 3 views
0

Я хочу распаковать zip-файл.Ошибка декомпрессии Gzip

Код, который я использовал, настолько прост.

Я не мог понять, почему я получаю эту ошибку;

Неверное магическое число в заголовке 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** 
       } 
      } 
     } 

ответ

0

проверить, если fileToDecompress собственно GZipStream ли? Вы можете скопировать его локально в файл и проверить, действительно ли он. Ошибка показывает, что данные в потоке недействительны.

+0

У меня есть файлToDecompress = _assembly.GetManifestResourceStream («путь»); Должен ли я конвертировать поток в GZipStream? – user1451549

+0

Итак, просто скопируйте этот поток в файл и проверьте, что он внутри. Вместо GZipStream используйте FileStream для тестирования. Я на 100% уверен, что этот поток не GZip –

+0

Вы правы, я проверил, и это был не файл GZip. – user1451549

1

gzip не почтовый индекс. zip не является gzip. Вы можете использовать ZipFile class или DotNetZip для извлечения zip-файла.

Смежные вопросы