[
  {
    "Id": "474723",
    "ThreadId": "221992",
    "Html": "<p>Hi there, I am having problems with downloading dynamically created zip files which are bigger than 280mB. I have based my code on&nbsp;your example&nbsp;&quot;ASP.NET Example in VB&quot; example (<a href=\"http://dotnetzip.codeplex.com/wikipage?title=ASPNET Example 2&referringTitle=Examples\">http://dotnetzip.codeplex.com/wikipage?title=ASPNET%20Example%202&amp;referringTitle=Examples</a>), but&nbsp;I have changed the code to save the file to disk, then enable a user to download it. In&nbsp;my code, downloading a zipped file &gt;280mB fails, while smaller files work. This occurs on my dev machine, as well as on a Rackspace Cloud Server where my app is hosted. If I place a link to a large zip file, it downloads without a hitch. (e.g. <a href=\"/zipfiles/2010-Jul-29-093041-66.zip\">2010-Jul-29-093041-66.zip 166kB</a> )</p>\r\n<p>I was wondering if there is a limitation on downloading large files, a setting that needs tweaking, or if there is an error in my code/logic.&nbsp;Here is my code. Also, if you require, I can send a link to the server where this page is hosted.</p>\r\n<p>&nbsp;Any help will be gratefully appreciated.</p>\r\n<p>Thanks in advance,</p>\r\n<p>Rob Nagel</p>\r\n<p>Code: (I changed the folder &quot;fodder&quot; to &quot;zipfiles&quot;)</p>\r\n<p>&lt;%@ Page <br>&nbsp;&nbsp;&nbsp; Language=&quot;VB&quot; <br>&nbsp;&nbsp;&nbsp; Debug=&quot;true&quot; <br>%&gt;</p>\r\n<p><br>&lt;%@ Import Namespace=&quot;System.Text&quot; %&gt;<br>&lt;%@ Import Namespace=&quot;System.IO&quot; %&gt;<br>&lt;%@ Import Namespace=&quot;Ionic.Zip&quot; %&gt;<br>&lt;%@ Import Namespace=&quot;System.Collections.Generic&quot; %&gt;<br>&lt;%@ Import Namespace=&quot;System.Text&quot; %&gt;<br>&lt;%@ Import Namespace=&quot;System.Security.Permissions&quot; %&gt;</p>\r\n<p>&lt;script language=&quot;VB&quot; runat=&quot;server&quot;&gt;</p>\r\n<p>' ZipExample.aspx <br>' <br>' This .aspx page demonstrates how to use the DotNetZip library from within ASP.NET.<br>' <br>' To run it, <br>'&nbsp; 1. drop the Ionic.Zip.dll into the \\bin directory of yoru asp.net app<br>'&nbsp; 2. create a subdirectory called &quot;fodder&quot; in your web app directory.<br>'&nbsp; 3. copy into that directory a variety of random files.<br>'&nbsp; 4. insure your web.config is properly set up (See below)<br>'<br>'<br>' notes:<br>'&nbsp; This requies the .NET Framework 3.5 - because it uses the ListView control that is <br>'&nbsp; new for ASP.NET in the .NET Framework v3.5.&nbsp; <br>'<br>'&nbsp; To use this control, you must add the new web controls.&nbsp; Also, you must use the v3.5 compiler. <br>'&nbsp; Here's an example web.config that works with this aspx file: <br>' <br>'&nbsp;&nbsp;&nbsp; &lt;configuration&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;system.web&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;trust level=&quot;Medium&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;compilation defaultLanguage=&quot;c#&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;pages&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;controls&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;add tagPrefix=&quot;asp&quot; namespace=&quot;System.Web.UI.WebControls&quot; assembly=&quot;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/controls&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/pages&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/system.web&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;system.codedom&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;compilers&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;compiler language=&quot;c#;cs;csharp&quot;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extension=&quot;.cs&quot;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warningLevel=&quot;4&quot;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type=&quot;Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;providerOption name=&quot;CompilerVersion&quot; value=&quot;v3.5&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;providerOption name=&quot;WarnAsError&quot; value=&quot;false&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/compiler&gt;<br>'&nbsp;&nbsp;&nbsp; <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;compiler language=&quot;vb;vbs;visualbasic;vbscript&quot; <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extension=&quot;.vb&quot;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warningLevel=&quot;4&quot;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type=&quot;Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;providerOption name=&quot;CompilerVersion&quot; value=&quot;v3.5&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;providerOption name=&quot;OptionInfer&quot; value=&quot;false&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;providerOption name=&quot;WarnAsError&quot; value=&quot;false&quot; /&gt;<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/compiler&gt;<br>'&nbsp;&nbsp;&nbsp; <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/system.codedom&gt;<br>'&nbsp;&nbsp;&nbsp; &lt;/configuration&gt;<br>'&nbsp;&nbsp;&nbsp; <br>' <br>'</p>\r\n<p><br>Dim width as String = &quot;100%&quot;</p>\r\n<p>Public Sub Page_Load (ByVal sender As Object, ByVal e As System.EventArgs)</p>\r\n<p>&nbsp;&nbsp;&nbsp; Try</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not ( Page.IsPostBack ) Then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' populate the dropdownlist<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' must have a directory called &quot;fodder&quot; in the web app <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim sMappedPath As String = Server.MapPath(&quot;zipfiles&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim fqFilenames As New List(Of String)(System.IO.Directory.GetFiles(sMappedPath))</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim filenames As List(Of String) = fqFilenames.ConvertAll(Function(s) s.Replace(sMappedPath &amp; &quot;\\&quot;, &quot;&quot;))</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorMessage.InnerHtml = &quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileListView.DataSource = filenames<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileListView.DataBind()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</p>\r\n<p>&nbsp;&nbsp;&nbsp; Catch</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' Ignored<br>&nbsp;&nbsp;&nbsp; End Try</p>\r\n<p>End Sub</p>\r\n<p>&nbsp;</p>\r\n<p>Public Sub btnGo_Click (ByVal sender As System.Object, ByVal e As System.EventArgs)</p>\r\n<p>&nbsp;&nbsp;&nbsp; ErrorMessage.InnerHtml =&quot;&quot;&nbsp;&nbsp; ' debugging only<br>&nbsp;&nbsp;&nbsp; Dim filesToInclude as New System.Collections.Generic.List(Of String)()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim sMappedPath As String = Server.MapPath(&quot;zipfiles&quot;)<br>&nbsp;&nbsp;&nbsp; Dim source As DataKeyArray= FileListView.DataKeys</p>\r\n<p>&nbsp;&nbsp;&nbsp; For Each item As ListViewDataItem in FileListView.Items</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim chkbox As CheckBox= CType(item.FindControl(&quot;include&quot;), CheckBox)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim lbl As Label = CType(item.FindControl(&quot;label&quot;), Label)</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not (chkbox Is Nothing&nbsp; OR&nbsp; lbl Is Nothing) Then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (chkbox.Checked) Then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorMessage.InnerHtml = ErrorMessage.InnerHtml &amp; _<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String.Format(&quot;adding file: {0}&lt;br/&gt;\\n&quot;, lbl.Text)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filesToInclude.Add(System.IO.Path.Combine(sMappedPath,lbl.Text))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br>&nbsp;&nbsp;&nbsp; Next</p>\r\n<p>&nbsp;&nbsp;&nbsp; If (filesToInclude.Count=0) Then</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorMessage.InnerHtml = ErrorMessage.InnerHtml &amp; &quot;You did not select any files?&lt;br/&gt;\\n&quot;</p>\r\n<p>&nbsp;&nbsp;&nbsp; Else</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Clear<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.BufferOutput= false</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim enc as Ionic.Zip.EncryptionAlgorithm = Ionic.Zip.EncryptionAlgorithm.None<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (chkUseAes.Checked) Then <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enc = EncryptionAlgorithm.WinZipAes256<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</p>\r\n<p>&nbsp;Dim c As System.Web.HttpContext = System.Web.HttpContext.Current<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim ReadmeText As&nbsp; String= String.Format(&quot;README.TXT\\n\\nHello!\\n\\n&quot; &amp; _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;This is a zip file that was dynamically generated at {0}\\n&quot; &amp; _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;by an ASP.NET Page running on the machine named '{1}'.\\n&quot; &amp; _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;The server type is: {2}\\n&quot; &amp; _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;The password used: {3}\\n&quot;, _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Encryption: {4}\\n&quot;, _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.DateTime.Now.ToString(&quot;G&quot;), _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Environment.MachineName, _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.Request.ServerVariables(&quot;SERVER_SOFTWARE&quot;), _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tbPassword.Text, _<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enc.ToString )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim archiveName as String= String.Format(&quot;archive-{0}.zip&quot;, DateTime.Now.ToString(&quot;yyyy-MMM-dd-HHmmss&quot;))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.ContentType = &quot;application/zip&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.AddHeader(&quot;content-disposition&quot;, &quot;filename=&quot; + archiveName)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Using zip as new ZipFile()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' the Readme.txt file will not be password-protected.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'zip.AddEntry(&quot;Readme.txt&quot;, &quot;&quot;, ReadmeText, Encoding.Default)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not String.IsNullOrEmpty(tbPassword.Text) Then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip.Password = tbPassword.Text<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip.Encryption = enc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<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; ' filesToInclude is a string[] or List&lt;String&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip.AddFiles(filesToInclude, &quot;files&quot;)<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; 'zip.Save(Response.OutputStream)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip.Save(sMappedPath &amp; &quot;\\&quot; &amp; archiveName)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Using<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim file As System.IO.FileInfo = New System.IO.FileInfo(sMappedPath &amp; &quot;\\&quot; &amp; archiveName) '-- if the file exists on the server <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.ContentType = &quot;application/zip&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.AddHeader(&quot;Content-Disposition&quot;, &quot;attachment; filename=&quot; &amp; file.Name)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.AddHeader(&quot;Content-Length&quot;, file.Length.ToString())<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; Response.WriteFile(file.FullName)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'file.Delete()<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; Response.End() 'if file does not exist&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Close()</p>\r\n<p>&nbsp;&nbsp;&nbsp; End If</p>\r\n<p>End Sub</p>\r\n<p><br>&lt;/script&gt;</p>\r\n<p>&nbsp;</p>\r\n<p>&lt;html&gt;<br>&nbsp; &lt;head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;link rel=&quot;stylesheet&quot; href=&quot;style/basic.css&quot;&gt;<br>&nbsp; &lt;/head&gt;</p>\r\n<p>&nbsp; &lt;body&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp; &lt;form id=&quot;Form&quot; runat=&quot;server&quot;&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h3&gt; &lt;span id=&quot;Title&quot; runat=&quot;server&quot; /&gt;Zip Files from ASP.NET &lt;/h3&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;This page uses the .NET Zip library (see &lt;a<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; href=&quot;<a href=\"http://dotnetzip.codeplex.com/\">http://DotNetZip.codeplex.com/http://DotNetZip.codeplex.com&quot;&gt;http://DotNetZip.codeplex.com/&lt;/a</a>&gt;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to dynamically create a zip archive, and then download it to the<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; browser through Response.OutputStream.&nbsp; This page is implemented<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in VB.NET.&lt;/p&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span class=&quot;SampleTitle&quot;&gt;&lt;b&gt;Check the boxes to select the files, set a password if you like, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then click the button to zip them up.&lt;/b&gt;&lt;/span&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Password: &lt;asp:TextBox id=&quot;tbPassword&quot; Password='true' Text=&quot;&quot; AutoPostBack runat=&quot;server&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span style=&quot;color:Red&quot;&gt;(Optional)&lt;/span&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use AES?: &lt;asp:CheckBox id=&quot;chkUseAes&quot; AutoPostBack runat=&quot;server&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button id=&quot;btnGo&quot; Text=&quot;Zip checked files&quot; AutoPostBack OnClick=&quot;btnGo_Click&quot; runat=&quot;server&quot;/&gt;<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span style=&quot;color:red&quot; id=&quot;ErrorMessage&quot; runat=&quot;server&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br/&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:ListView ID=&quot;FileListView&quot; runat=&quot;server&quot;&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;LayoutTemplate&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr ID=&quot;itemPlaceholder&quot; runat=&quot;server&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/LayoutTemplate&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ItemTemplate&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;asp:Checkbox ID=&quot;include&quot; runat=&quot;server&quot;/&gt;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;asp:Label id=&quot;label&quot; runat=&quot;server&quot; Text=&quot;&lt;%# Container.DataItem %&gt;&quot; /&gt;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ItemTemplate&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;EmptyDataTemplate&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div&gt;Nothing to see here...&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/EmptyDataTemplate&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:ListView&gt;</p>\r\n<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=&quot;FF_test.zip&quot;&gt;FF_test.zip&lt;/a&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;&lt;a href=&quot;/zipfiles/2010-Jul-29-093041-66.zip&quot;&gt;2010-Jul-29-093041-66.zip 166kB&lt;/a&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;&lt;a href=&quot;/zipfiles/archive-2010-Jul-30-053228.zip&quot;&gt;archive-2010-Jul-30-053228.zip 122 Mb&lt;/a&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;&lt;a href=&quot;/zipfiles/2010-Jul-29-092808-66.zip&quot;&gt;2010-Jul-29-092808-66.zip 284 Mb&lt;/a&gt;</p>\r\n<p>&nbsp;&nbsp;&nbsp; &lt;/form&gt;</p>\r\n<p>&nbsp; &lt;/body&gt;</p>\r\n<p>&lt;/html&gt;</p>",
    "PostedDate": "2010-07-30T05:48:42.79-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]