C# 拉链冲水

C# 拉链冲水,c#,asp.net,.net,C#,Asp.net,.net,我正在尝试刷新刚创建的Zip文件,但遇到问题: a) 它实际上并没有刷新(我以前在CSV文件中使用过这段代码,而且一切都很好) 代码如下: outputMemStream.Position = 0; System.Web.HttpResponse Resp = System.Web.HttpContext.Current.Response; Resp.ClearContent(); Resp.ClearHeaders(); Resp

我正在尝试刷新刚创建的Zip文件,但遇到问题: a) 它实际上并没有刷新(我以前在CSV文件中使用过这段代码,而且一切都很好)

代码如下:

      outputMemStream.Position = 0;

      System.Web.HttpResponse Resp = System.Web.HttpContext.Current.Response;

      Resp.ClearContent();
      Resp.ClearHeaders();
      Resp.ContentType = "application/zip";
      Resp.AddHeader("Content-Disposition", "attachment; filename=\"download.zip\"");

      //byte[] buff = outputMemStream.ToArray();
      //File.WriteAllBytes(path, buff);

      outputMemStream.CopyTo(Resp.OutputStream);
      outputMemStream.Close();
      outputMemStream.Dispose();

      Resp.Flush();
      Resp.End();
流是正确创建的,因为我能够保存它,并且可以在以后检查它是否正常。。只是我的浏览器不允许我下载的东西很烦人。 为你的帮助干杯

它在aspx页面(在codebhind.cs中)的一个方法中 按“全部导出”按钮后会发生这种情况

这可能就是问题所在。页面同时呈现文件和控件(包括“全部导出”按钮)


尝试将下载逻辑移动到其他页面或处理程序,这些页面或处理程序只返回文件

这是在一个aspx页面,一个ashx页面,还是其他什么?它是在aspx页面(在code behind.cs中),在按下“Export All”按钮后发生的一种方法中,嗨,我认为这是一个相当愚蠢的想法,但没有任何其他想法,我决定尝试一下,是的。。成功了!我用创建摘录的方法创建了另一个空页面jsut,它确实有效!