0

DotNetZip ( http://dotnetzip.codeplex.com/ ) を使用して、その場で Zip ファイルを作成しています。コードで ZIP ファイルを作成し、コードで別の ZIP ファイルに追加できるようにしたいと考えています。これは機能しますか?私のコードは以下です。MemoryStream を使用して内部 zip ファイルを保持し、そのメモリ ストリームをメインの zip ファイルに追加しようとしています。これが正しいかどうかはわかりません。これを試すと、内部 zip ファイルのバイト数がゼロになり、結果のメイン zip ファイルを開こうとすると失敗します。

using (ZipFile _mainZip = new ZipFile())
{
  using (ZipFile _internalZip = new ZipFile())
  {
    ..add stuff to the internal zip..
    MemoryStream _myMemoryStream = new MemoryStream();
    _internalZip.Save(_myMemoryStream);
    _mainZip.AddEntry("myTitle.zip", _myMemoryStream);
  }
}
_mainZip.Save("myZip.zip");
4

1 に答える 1

1

MemoryStream の位置がストリームの最後にある可能性があります。
最初に設定してみることができます:

_myMemoryStream.Position = 0;

それはうまくいくかもしれません。

于 2013-06-11T18:19:30.470 に答える