Получение исключения «Cannot Read That as a Zip File» при попытке получить поток из внутреннего Zip-файла (Zip внутри другого Zip)

В C #я использую DotNetZip . У меня есть почтовый индекс под названием "innerZip.zip", который содержит некоторые данные, и другой почтовый индекс с именем «outerZip.zip», который содержит innerZip. почему я так делаю? ну, при установке пароля пароль фактически применяется к отдельным записям, которые добавляются в архив, а не ко всему архиву, с помощью этой внутренней/внешней комбинации, Я мог бы установить пропуск ко всему внутреннему почтовому индексу, потому что это запись внешнего.

Проблема в том, что код говорит лучше, чем обычные слова:

ZipFile outerZip = ZipFile.Read("outerZip.zip");
outerZip.Password = "VeXe";
Stream innerStream = outerZip["innerZip.zip"].OpenReader();
ZipFile innerZip = ZipFile.Read(innerStream); // I'm getting the exception here.
innerZip["Songs\\IronMaiden"].Extract(tempLocation);

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

Заранее спасибо..

5
задан vexe 8 August 2012 в 05:00
поделиться