C#では、DotNetZip を使用しています。データを含む「innerZip.zip」というzipと、innerZipを含む「outerZip.zip」という別のzipがあります。なぜ私はこのようにそれをしているのですか?パスワードを設定するとき、パスワードは実際にはアーカイブ全体ではなくアーカイブに追加される個々のエントリに適用されます。この内部/外部コンボを使用すると、内部zip全体にパスを設定できます。これは、外側のもの。
問題は、まあ、コードは通常の単語よりもうまく話すことです:
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ファイルなので、その例外を正しく取得するべきではありませんか?これを回避する方法はありますか、それとも外側から内側のものを抽出してアクセスする必要がありますか?
よろしくお願いします..