2015-12-11 4 views
0

Я использую Ionic dll, чтобы распаковать zip-файл. Но он не работает для файла, который загружается через WebClient.Невозможно разархивировать zip-файл с помощью Ionic, который через WebClient

Он бросает следующие ошибки:

  • Could not read D:\test.zip as a zip file
  • Could not read block - no data! (position 0x10000002F)

Я использую следующий код для распаковки файла

if (File.Exists(compressedFilePath)) 
{ 
    ZipFile zipFile = new ZipFile(compressedFilePath); 

    zipFile.ExtractAll(directoryPath,ExtractExistingFileAction.OverwriteSilently); 
    zipFile.Dispose(); 
} 

Просьбы предложить любой другой вариант доступен для скачивания файла почтового индекса и распаковать его.

ответ

0

Это необычно, но может быть потому, что MemoryStream и/или положение уже установлено, попробуйте следующее:

if (File.Exists(compressedFilePath)) 
{ 
    ZipFile zipFile = new ZipFile(compressedFilePath); 
    zipFile.Flush(); 
    zipFile.Position = 0; 
    zipFile.ExtractAll(directoryPath,ExtractExistingFileAction.OverwriteSilently); 
    zipFile.Dispose(); 
} 
+0

Он выдает ошибку из кулака линии (То же, что я говорил мой вопрос). Это не позволяет мне инициализировать ZipFile. – Girish

+0

Возможно ли, что загрузка файла не завершена или закрыта? Вы пробовали это с помощью локально созданного и протестированного zip-файла, чтобы узнать, работает ли он? –

+0

Да, это работа для локального zip (создается вручную). – Girish