我正在使用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");
答案 0 :(得分:1)
可能是MemoryStream的位置在流的末尾。
您可以尝试将其设置为开头:
_myMemoryStream.Position = 0;
这可能有效。