2012-08-23 72 views
0

我想刷新一個已創建的Zip文件,並有一個問題: a)它實際上並沒有沖洗(我之前使用的代碼與CSV文件和所有效果很好)沖洗流的ZIP

下面是代碼:

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

流被正確創建,因爲我能救它,以後可以檢查它,它看起來好了..只是那件事,我的瀏覽器沒有按」讓我下載它是相當煩人的。 歡呼你的幫助!

+0

這是在一個aspx頁面,一個ashx頁面,其他的東西? – RQDQ

+0

它在aspx頁面(在.cs後面的代碼中),在按下「Export All」按鈕之後發生的一種方法 –

回答

0

它在aspx頁面(在後面的.cs的代碼),在按下按鈕「導出所有」

這可能是問題之後這種情況發生的方法 之一。該頁面將同時呈現您的文件和您的控件(包括您的「全部導出」按鈕)。

嘗試將下載邏輯移動到不執行任何操作但返回文件的其他頁面或處理程序。

+0

嗨,我認爲這是一個非常愚蠢的想法,但沒有任何其他我決定給它一個嘗試和是的..它的工作!我用創建提取方法創建了另一個空頁面jsut,它確實可行! –