2013-06-11 84 views
0

我正在使用DotNetZip(http://dotnetzip.codeplex.com/)在運行中構建Zip文件。我希望能夠在代碼中創建ZIP文件,然後將其添加到代碼中的另一個ZIP文件中。這會工作嗎?我的代碼如下。我正在嘗試使用MemoryStream來保存內部zip文件,然後將該內存流添加到主zip文件中。我不確定這是否正確。當我嘗試這個時,我的內部zip文件有零字節,當我嘗試打開生成的主zip文件時失敗。如何使用C#和DotNetZip將壓縮文件添加到壓縮文件中

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"); 

回答

1

這可能是因爲MemoryStream的位置在流的末尾。
你可以嘗試將其設置爲開始時:

_myMemoryStream.Position = 0; 

可能的工作。

+0

就是這樣。謝謝。 –