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 回答