[
  {
    "Id": "655747",
    "ThreadId": "268506",
    "Html": "\r\n<p><span><span>sample:</span></span></p>\r\n<pre><span>using</span> (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))\r\n{\r\n    <span>using</span> (var raw = System.IO.File.Create(outputFile))\r\n    {\r\n        <span>using</span> (Stream compressor = <span>new</span> GZipStream(raw, CompressionMode.Compress))\r\n        {\r\n            <span>byte</span>[] buffer = <span>new</span> <span>byte</span>[WORKING_BUFFER_SIZE];\r\n            <span>int</span> n;\r\n            <span>while</span> ((n= input.Read(buffer, <span>0</span>, buffer.Length)) != <span>0</span>)\r\n            {\r\n                compressor.Write(buffer, <span>0</span>, n);\r\n            }\r\n        }\r\n    }\r\n}</pre>\r\n<p><span><span>&nbsp;</span></span></p>\r\n<p><span><span>And what I use this Constructor:</span></span></p>\r\n<p><span><span>public Stream Zip(Stream ToCompress)//压缩<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream input = ToCompress)<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream raw = outputFile)<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream compressor = new GZipStream(raw, CompressionMode.Compress))<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[outputFile.Length];<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int n;<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return raw;<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span></p>\r\n<p><span><span>this comes a Exception&mdash;&mdash;PlatformNotSupportedException.</span></span></p>\r\n<p><span><span>but you say &mdash;&mdash;DotNetZip is built for the .NET Compact Framework (v2.0 or later) as well as for the regular .NET Framework (v2.0 or later). This means you can build a Smart Device application in Visual Studio 2008, that uses the capabilities\r\n of DotNetZip.</span></span></p>\r\n<p><span><span>Now, I doubt whether <span>GZipStream Constructor (stream, mode) can use in the .net cf?</span></span></span></p>\r\n<p><span><span><span>hope for your reply.</span></span></span></p>\r\n<p><span><span><span>thanks.</span></span></span></p>\r\n<p><span><span>&nbsp;</span></span></p>\r\n",
    "PostedDate": "2011-08-10T02:35:50.38-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "655863",
    "ThreadId": "268506",
    "Html": "<p>The GZipStream uses a text encoding, iso-8859-1, which is not supported in all CF platforms.&nbsp; Some device OS platforms support it, some don't.&nbsp; The exception you are getting is because of that.</p>\r\n<p>I've since implemented an encoding class to workaround this pitfall. It will be in a future release of DotNetZip, and will allow all .NET CF platforms to use GZipStream.</p>\r\n<p>see <a href=\"http://dotnetzip.codeplex.com/workitem/14045\">http://dotnetzip.codeplex.com/workitem/14045</a>&nbsp;(It mentions Silverlight, but it applies to Compact Framework as well)</p>\r\n<p>If you are willing to test the fix, let me know, and I will produce a build for you.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2011-08-10T06:34:52.36-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "655877",
    "ThreadId": "268506",
    "Html": "<p>Hey I was wondering as well when you will release a build with that fix. Thanks</p>",
    "PostedDate": "2011-08-10T06:58:43.05-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656269",
    "ThreadId": "268506",
    "Html": "<p>ok I posted a build there on the workitem, give it a try and let me know.</p>\r\n<p><a href=\"http://dotnetzip.codeplex.com/workitem/14045\">http://dotnetzip.codeplex.com/workitem/14045</a></p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2011-08-10T22:10:30.193-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656273",
    "ThreadId": "268506",
    "Html": "<p>thanks，Cheeso</p>\r\n<p>I can't believe you reply me so fast,thank you very much.</p>\r\n<p>Now I will have a try.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2011-08-10T22:21:31.557-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656280",
    "ThreadId": "268506",
    "Html": "<p>Cheeso,</p>\n<p>use this <a href=\"http://dotnetzip.codeplex.com/workitem/14045\">http://dotnetzip.codeplex.com/workitem/14045</a>&nbsp;, sovled the exception of PlatformNotSupportedException. thank you again.</p>\n<p>also, I&nbsp;need you help.&nbsp;</p>\n<p>Also, I&nbsp;need you help.&nbsp;</p>\n<p>private Stream outputFile;</p>\n<p><span><span>public Stream Zip(Stream ToCompress)//压缩<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream input = ToCompress)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream raw = <span style=\"color: #ff0000;\">outputFile</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream compressor = new GZipStream(raw, CompressionMode.Compress))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[<span style=\"color: #ff0000;\">outputFile.Length</span>];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int n;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return raw;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span></p>\n<p><span><span>Is I use right?&nbsp; I konw <span style=\"color: #ff0000;\">outputFile </span>is null,but I don't konw how to modify? </span></span></p>\n<p><span><span>FileToCompress and outputFile are filename?</span></span><span><span>what's the outputFile meaning?</span></span></p>\n<p><span><span><span class=\"topicTitle\">Isn't GZipStream&nbsp; a stream c<span class=\"code\">ompression? why it need filename</span></span></span></span></p>",
    "PostedDate": "2011-08-10T22:40:39.13-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656309",
    "ThreadId": "268506",
    "Html": "<p>Also, I&nbsp;need you help.&nbsp;</p>\r\n<p>private Stream outputFile;</p>\r\n<p><span><span>public Stream Zip(Stream ToCompress)//压缩<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream input = ToCompress)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream raw = <span style=\"color: #ff0000;\">outputFile</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream compressor = new GZipStream(raw, CompressionMode.Compress))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[<span style=\"color: #ff0000;\">outputFile.Length</span>];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int n;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return raw;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span></p>\r\n<p><span><span>Is I use right?&nbsp; I konw <span style=\"color: #ff0000;\">outputFile </span>is null,but I don't konw how to modify? </span></span></p>\r\n<p><span><span>FileToCompress and outputFile are filename?</span></span><span><span>what's the outputFile meaning?</span></span></p>\r\n<p><span><span><span class=\"topicTitle\">Isn't GZipStream&nbsp; a stream c<span class=\"code\">ompression? why it need filename.</span></span></span></span></p>",
    "PostedDate": "2011-08-10T23:41:27.037-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656408",
    "ThreadId": "268506",
    "Html": "<p>No - your code is not quite right.&nbsp;</p>\n<p>You must <span style=\"text-decoration: underline;\">not</span> use a <strong>using </strong>clause, if you will return the stream from the method. &nbsp;See below.</p>\n<div style=\"background-color: white; color: black;\">\n<pre>  <span style=\"color: blue;\">public</span> Stream Zip(Stream ToCompress)<span style=\"color: green;\">//压缩</span>\r\n  {\r\n      <span style=\"color: blue;\">using</span> (Stream input = ToCompress)\r\n      {\r\n          <span style=\"color: green;\">// get an output stream here.  Because this method</span>\r\n          <span style=\"color: green;\">// RETURNS the stream, it must not be initialized within</span>\r\n          <span style=\"color: green;\">// a using clause!  A using clause would close and</span>\r\n          <span style=\"color: green;\">// dispose the stream at scope exit, which means, the</span>\r\n          <span style=\"color: green;\">// returned Stream would be disposed before the caller</span>\r\n          <span style=\"color: green;\">// could reference it.</span>\r\n          Stream raw = <span style=\"color: blue;\">new</span> MemoryStream(); \r\n\r\n          <span style=\"color: blue;\">using</span> (Stream compressor = <span style=\"color: blue;\">new</span> GZipStream(raw, CompressionMode.Compress))\r\n          {\r\n              <span style=\"color: blue;\">byte</span>[] buffer = <span style=\"color: blue;\">new</span> <span style=\"color: blue;\">byte</span>[<span style=\"text-decoration: line-through;\">outputFile.Length</span>&nbsp;2048];\r\n              <span style=\"color: blue;\">int</span> n;\r\n              <span style=\"color: blue;\">while</span> ((n = input.Read(buffer, 0, buffer.Length)) != 0)\r\n              {\r\n                  compressor.Write(buffer, 0, n);\r\n              }\r\n          }\r\n          <span style=\"color: green;\">// may want to Seek() on the stream here, or </span>\r\n          <span style=\"color: green;\">// maybe not. Make a decision.</span>\r\n          <span style=\"color: blue;\">return</span> raw;\r\n      }\r\n  }\r\n\r\n</pre>\n</div>",
    "PostedDate": "2011-08-11T03:07:56.34-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656464",
    "ThreadId": "268506",
    "Html": "<p><span style=\"color: blue;\">public</span> Stream Zip(<span style=\"color: #ff0000;\">Stream </span>ToCompress)<span style=\"color: green;\">//压缩</span><br />&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">using</span> (Stream input = <span style=\"color: #ff0000;\">ToCompress</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// get an output stream here.&nbsp; Because this method</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// RETURNS the stream, it must not be initialized within</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// a using clause!&nbsp; A using clause would close and</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// dispose the stream at scope exit, which means, the</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// returned Stream would be disposed before the caller</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// could reference it.</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stream raw = <span style=\"color: blue;\">new</span> MemoryStream(); <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">using</span> (Stream compressor = <span style=\"color: blue;\">new</span> GZipStream(raw, CompressionMode.Compress))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">byte</span>[] buffer = <span style=\"color: blue;\">new</span> <span style=\"color: blue;\">byte</span>[<span style=\"color: #ff0000;\">outputFile</span>.Length];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">int</span> n;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">while</span> ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// may want to Seek() on the stream here, or </span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// maybe not. Make a decision.</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">return</span> raw;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp; }<br /><span style=\"color: #ff0000;\">what's the ToCompress and <span style=\"color: #ff0000;\">outputFile means? </span></span><span style=\"color: #ff0000;\"><span style=\"color: #ff0000;\">a file?</span></span><span style=\"color: #ff0000;\"><span style=\"color: #ff0000;\">if I want to&nbsp;use they as stream,how to modify?</span></span></p>",
    "PostedDate": "2011-08-11T05:05:17.96-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656520",
    "ThreadId": "268506",
    "Html": "<p>First I have a try in the .NET windowsApplication,there is some problem:</p>\r\n<p>using (System.IO.Stream input = System.IO.File.OpenRead(\"<span style=\"color: #ff0000;\">c:\\\\123.txt</span>\"))//<span style=\"color: #ff0000;\">input's length = 6</span></p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (System.IO.Stream raw = System.IO.File.Create(\"<span style=\"color: #ff0000;\">c:\\\\456.zip</span>\"))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (System.IO.Stream compressor = new GZipStream(raw, CompressionMode.Compress))// <span style=\"color: #ff0000;\">but Length = &ldquo;compressor.Length&rdquo;引发了&ldquo;System.NotImplementedException&rdquo;类型的异常</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[raw.Length];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int n;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>\r\n<p>Then I more doubt how I can change this <span class=\"topicTitle\">GZipStream Constructor to .NET CF,use stream?</span></p>\r\n<p><span class=\"topicTitle\">Hope your help,thanks.</span></p>",
    "PostedDate": "2011-08-11T06:33:54.307-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656549",
    "ThreadId": "268506",
    "Html": "<p>No - what you are doing is not correct.</p>\r\n<p>First, GZipStream does not create zip files.&nbsp; You must not name the file \"C:\\\\456.zip\".&nbsp; It is not a zip file, you will only confuse yourself and others if you use misleading (incorrect) file extensions.</p>\r\n<p>The output of a GZipStream is typically stored in a file with extension .gz.&nbsp;</p>\r\n<p>Ok, next - when you copy the stream, you should not use raw.Length as the size of the buffer to use.&nbsp; For two reasons.&nbsp; #1. In this case raw is the name of the OUTPUT STREAM.&nbsp; The length of that stream is irrelevant - in fact the actual length at the time you invoke raw.Length is ZERO, because nothing has been written to the output stream at that point.&nbsp; #2.&nbsp; you must not use a buffer size equal to the size of the file.&nbsp; Use a small buffer size - something like 1024 bytes is fine, 8192 bytes is fine.&nbsp;&nbsp; Use a specific number there.</p>\r\n<p>You should not be using (reading) compressor.Length either.&nbsp; In the code I posted in my previous reply, I REPEATED THE ERROR THAT YOU HAD IN YOUR CODE.&nbsp; Do not follow that example.&nbsp; This is better:</p>\r\n<div style=\"color: black; background-color: white;\">\r\n<pre>\r\n  <span style=\"color: blue;\">public</span> Stream Zip(Stream ToCompress)\r\n  {\r\n      <span style=\"color: blue;\">using</span> (Stream input = ToCompress)\r\n      {\r\n          <span style=\"color: green;\">// get an output stream here.  Because this method</span>\r\n          <span style=\"color: green;\">// RETURNS the stream, it must not be initialized within</span>\r\n          <span style=\"color: green;\">// a using clause!  A using clause would close and</span>\r\n          <span style=\"color: green;\">// dispose the stream at scope exit, which means, the</span>\r\n          <span style=\"color: green;\">// returned Stream would be disposed before the caller</span>\r\n          <span style=\"color: green;\">// could reference it.</span>\r\n          Stream raw = <span style=\"color: blue;\">new</span> MemoryStream();\r\n\r\n          <span style=\"color: blue;\">using</span> (Stream compressor = <span style=\"color: blue;\">new</span> GZipStream(raw, CompressionMode.Compress))\r\n          {\r\n              <span style=\"color: blue;\">byte</span>[] buffer = <span style=\"color: blue;\">new</span> <span style=\"color: blue;\">byte</span>[1024];\r\n              <span style=\"color: blue;\">int</span> n;\r\n              <span style=\"color: blue;\">while</span> ((n = input.Read(buffer, 0, buffer.Length)) != 0)\r\n              {\r\n                  compressor.Write(buffer, 0, n);\r\n              }\r\n          }\r\n          <span style=\"color: green;\">// may want to Seek() on the stream here, or</span>\r\n          <span style=\"color: green;\">// maybe not. Make a decision.</span>\r\n          <span style=\"color: blue;\">return</span> raw;\r\n      }\r\n  }\r\n\r\n</pre>\r\n</div>",
    "PostedDate": "2011-08-11T07:04:42.323-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656598",
    "ThreadId": "268506",
    "Html": "<pre>  <span style=\"color: blue;\">public</span> Stream Zip(Stream ToCompress)\r\n  {\r\n      <span style=\"color: blue;\">using</span> (Stream input = ToCompress)\r\n      {\r\n          Stream raw = <span style=\"color: blue;\">new</span> MemoryStream();\r\n\r\n          <span style=\"color: blue;\">using</span> (Stream compressor = <span style=\"color: blue;\">new</span> GZipStream(raw, CompressionMode.Compress))   //<span style=\"color: #ff0000;\">Length = &ldquo;compressor.Length&rdquo;引发了&ldquo;System.NotImplementedException&rdquo;类型的异常\r\n</span>          {\r\n              <span style=\"color: blue;\">byte</span>[] buffer = <span style=\"color: blue;\">new</span> <span style=\"color: blue;\">byte</span>[1024];\r\n              <span style=\"color: blue;\">int</span> n;\r\n              <span style=\"color: blue;\">while</span> ((n = input.Read(buffer, 0, buffer.Length)) != 0)\r\n              {\r\n                  compressor.Write(buffer, 0, n);\r\n              }\r\n          }\r\n          <span style=\"color: green;\">// may want to Seek() on the stream here, or</span>\r\n          <span style=\"color: green;\">// maybe not. Make a decision.</span>\r\n          <span style=\"color: blue;\">return</span> raw;\r\n      }\r\n  }\r\n\r\n</pre>",
    "PostedDate": "2011-08-11T08:01:28.407-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656650",
    "ThreadId": "268506",
    "Html": "<p>??? Is there a question in there somewhere?</p>",
    "PostedDate": "2011-08-11T08:59:04.327-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656665",
    "ThreadId": "268506",
    "Html": "<p><span style=\"color: blue;\">public</span> Stream Zip(Stream ToCompress)<br />&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">using</span> (Stream input = ToCompress)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stream raw = <span style=\"color: blue;\">new</span> MemoryStream();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">using</span> (Stream compressor = <span style=\"color: blue;\">new</span> GZipStream(raw, CompressionMode.Compress))&nbsp;&nbsp; //<span style=\"color: #ff0000;\">Length = &ldquo;compressor.Length&rdquo;引发了&ldquo;System.NotImplementedException&rdquo;类型的异常<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">byte</span>[] buffer = <span style=\"color: blue;\">new</span> <span style=\"color: blue;\">byte</span>[1024];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">int</span> n;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">while</span> ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// may want to Seek() on the stream here, or</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: green;\">// maybe not. Make a decision.</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: blue;\">return</span> raw;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp; }<br />the red word means <span style=\"color: #ff0000;\">Length = &ldquo;compressor.Length&rdquo;引发了&ldquo;System.NotImplementedException&rdquo;类型的异常.</span></p>\r\n<p><span style=\"color: #ff0000;\"><span style=\"color: #888888;\">this means compress is failed, right?</span><br /></span>\r\n<p><span style=\"color: #888888;\">there is something what I want to say:</span></p>\r\n<p><span style=\"color: #888888;\">first ,I 'm sorry for my mistakes&mdash;&mdash;<span style=\"color: blue;\">byte</span>[] buffer = <span style=\"color: blue;\">new</span> <span style=\"color: blue;\">byte</span>[<span style=\"text-decoration: line-through;\">outputFile.Length</span>&nbsp;2048];<br />second ,thanks for your patient to help me .</span></p>\r\n<p><span style=\"color: #888888;\">I'm a newer,something I don't feel well.thanks for your help again.</span></p>\r\n</p>",
    "PostedDate": "2011-08-11T09:14:02.363-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656676",
    "ThreadId": "268506",
    "Html": "<p>I don't know what you mean - \"this means compress is failed\".&nbsp;</p>\r\n<p>If there is an exception, you need to post the exception stacktrace.&nbsp;&nbsp; The full stacktrace.</p>\r\n<p>Take care to use the correct version of the code.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2011-08-11T09:29:58.327-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656918",
    "ThreadId": "268506",
    "Html": "<p><span class=\"hps\">stream compress stream:</span></p>\r\n<p><span class=\"hps\">&nbsp;public Stream Zip(Stream ToCompress)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (Stream input = ToCompress)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stream raw = new MemoryStream();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (<span style=\"color: #ff0000;\">Stream compressor = new GZipStream(raw, CompressionMode.Compress</span>))&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] buffer = new byte[2048];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int n;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: #ff0000;\">return raw</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>\r\n<p><span class=\"hps\">public string PostZips(string url, Stream zips)<br />{<br />byte[] <span style=\"color: #ff0000;\">bytes </span>= new byte[zips.Length];<br />HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);<br />&hellip;&hellip;<br />if (proxyUse)<br />{<br />&nbsp;request.Proxy = new WebProxy(\"http:&hellip;&hellip;\");<br />}<br />request.Method = \"POST\";<br />request.ContentLength = bytes.Length;<br />request.ContentType = \"gz\";<br />}</span></p>\r\n<p>&nbsp;</p>\r\n<p>errpr:</p>\r\n<p>1)&nbsp;using (<span style=\"color: #ff0000;\">Stream compressor = new GZipStream(raw, CompressionMode.Compress</span>))&mdash;&mdash;Length = &ldquo;compressor.Length&rdquo;引发了&ldquo;System.NotImplementedException&rdquo;类型的异常,</p>\r\n<p>位于 Ionic.Zlib.GZipStream.get_Length()<br />位于 SJGJ_PPC.clsZip.Zip()<br />位于 SJGJ_PPC.InfoMobileForm.BackupContacts()<br />位于 SJGJ_PPC.InfoMobileForm.BackupContacts()</p>\r\n<p><span style=\"color: #000000;\">2)raw&mdash;&mdash;Length = &ldquo;raw.Length&rdquo;引发了&ldquo;System.ObjectDisposedException&rdquo;类型的异常,</span></p>\r\n<p><span style=\"color: #000000;\">位于 System.IO.__Error.StreamIsClosed()<br />位于 System.IO.MemoryStream.get_Length()<br />位于 SJGJ_PPC.clsZip.Zip()<br />位于 SJGJ_PPC.InfoMobileForm.BackupContacts()<br />位于 SJGJ_PPC.InfoMobileForm.BackupContacts()</span></p>\r\n<p><span style=\"color: #000000;\">3)byte[] <span style=\"color: #ff0000;\">bytes </span>= new byte[zips.Length];&mdash;&mdash;<span style=\"color: #ff0000;\">bytes </span>= null</span></p>\r\n<p><span style=\"color: #000000;\">Then I can't post this Stream to server.</span></p>\r\n<p><span style=\"color: #000000;\">&nbsp;</span></p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2011-08-11T19:51:34.26-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "656972",
    "ThreadId": "268506",
    "Html": "<p>I try to modify, it sees work well:</p>\r\n<p>public byte[] Zip(string ToCompress)//Stream压缩Stream<br />{<br />&nbsp;using (Stream input = StringToMemoryStream(ToCompress))<br />&nbsp;{<br />&nbsp;&nbsp;MemoryStream raw = new MemoryStream();<br />&nbsp;&nbsp;using (Stream compressor = new GZipStream(raw, CompressionMode.Compress))<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;byte[] buffer = new byte[2048];<br />&nbsp;&nbsp;&nbsp;int n;<br />&nbsp;&nbsp;&nbsp;while ((n = input.Read(buffer, 0, buffer.Length)) != 0)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;compressor.Write(buffer, 0, n);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<span style=\"color: #ff0000;\">byte[] bytes = raw.ToArray();&nbsp;</span></p>\r\n<p><span style=\"color: #ff0000;\">&nbsp;</span>&nbsp;&nbsp;&nbsp;return <span style=\"color: #ff0000;\">bytes</span>;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br /><span style=\"color: #ff0000;\">byte[] bytes = raw.ToArray(); <span style=\"color: #000000;\">&mdash;&mdash;prevent the System.ObjectDisposedException. Then the byte has num,byte = 10.</span></span></p>\r\n<p><span style=\"color: #ff0000;\"></span></p>\r\n<p><span style=\"color: #ff0000;\"><span style=\"color: #000000;\">It sees work well now,Thanks.</span></span></p>",
    "PostedDate": "2011-08-11T23:15:14.363-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]