[
  {
    "Id": "691742",
    "ThreadId": "277795",
    "Html": "\r\n<p>Hi</p>\r\n<p>I have a big zipfile that I need to split in multiple zip files. In the method I'm now creating I have a List&lt;ZipEntry&gt; object.</p>\r\n<p>This is the code I have atm:</p>\r\n<pre><span><span style=\"white-space:pre\">\t</span>    //All files have the same basefilename/<br>            string</span>&nbsp;basefilename&nbsp;=&nbsp;<span>Path</span>.GetFileNameWithoutExtension(entries[0].FileName);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>MemoryStream</span>&nbsp;memstream&nbsp;=&nbsp;<span>new</span>&nbsp;<span>MemoryStream</span>();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>ZipFile</span>&nbsp;zip&nbsp;=&nbsp;<span>new</span>&nbsp;<span>ZipFile</span>();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>foreach</span>&nbsp;(<span>var</span>&nbsp;entry&nbsp;<span>in</span>&nbsp;entries){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>string</span>&nbsp;newFileName&nbsp;=&nbsp;basefilename&nbsp;&#43;&nbsp;<span>Path</span>.GetExtension(entry.FileName);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zip.AddEntry(newFileName,&nbsp;entry.OpenReader());\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zip.Save(memstream);\r\n <br>            //this will later go in an file-io handler class.\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>FileStream</span>&nbsp;outstream&nbsp;=&nbsp;<span>File</span>.OpenWrite(<span>@&quot;c:\\files\\&quot;</span>&#43;basefilename&#43;&nbsp;<span>&quot;.zip&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memstream.WriteTo(outstream);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outstream.Flush();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outstream.Close();</pre>\r\n<p>&nbsp;</p>\r\n<p>And this is the error I get:</p>\r\n<p>{Ionic.Zlib.ZlibException: Bad state (invalid block type)&nbsp; &nbsp;at Ionic.Zlib.InflateManager.Inflate(FlushType flush)&nbsp; &nbsp;at Ionic.Zlib.ZlibCodec.Inflate(FlushType flush)&nbsp; &nbsp;at Ionic.Zlib.ZlibBaseStream.Read(Byte[] buffer, Int32 offset,\r\n Int32 count)&nbsp; &nbsp;at Ionic.Zlib.DeflateStream.Read(Byte[] buffer, Int32 offset, Int32 count)&nbsp; &nbsp;at Ionic.Crc.CrcCalculatorStream.Read(Byte[] buffer, Int32 offset, Int32 count)&nbsp; &nbsp;at Ionic.Zip.SharedUtilities.ReadWithRetry(Stream s,\r\n Byte[] buffer, Int32 offset, Int32 count, String FileName)&nbsp; &nbsp;at Ionic.Zip.ZipEntry._WriteEntryData(Stream s)&nbsp; &nbsp;at Ionic.Zip.ZipEntry.Write(Stream s)&nbsp; &nbsp;at Ionic.Zip.ZipFile.Save()&nbsp; &nbsp;at Ionic.Zip.ZipFile.Save(Stream outputStream)&nbsp;\r\n &nbsp;at Getronics.Domain.Services.Cuc4XXService.processCuc4xForm(List`1 entries, String tokenId, String relationId) in C:\\projects\\getronics\\Getronics.Domain\\Services\\Cuc4XXService.cs:line 448&nbsp; &nbsp;at Getronics.Domain.Services.Cuc4XXService.parseZipFile(ZipFile\r\n zipFile, String tokenId, String relationId) in C:\\projects\\getronics\\Getronics.Domain\\Services\\Cuc4XXService.cs:line 377}</p>\r\n<p>What am I doing wrong?</p>\r\n<p>Patrick</p>\r\n",
    "PostedDate": "2011-10-31T10:56:30.527-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "694812",
    "ThreadId": "277795",
    "Html": "<p>I answered this on StackOverflow.</p>\r\n<p>See here: <a href=\"http://stackoverflow.com/questions/7959211/dotnetzip-creating-zip-from-subset-of-other-zip\">http://stackoverflow.com/questions/7959211/dotnetzip-creating-zip-from-subset-of-other-zip</a></p>",
    "PostedDate": "2011-11-07T09:26:31.657-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]