2013-03-28 141 views
1

因此,在我的操作結果中,我返回一個文件,它被下載。Mvc - 返回文件和刷新頁面

return File(directory + @"\Issues.zip", "appicaltion/zip", "IssueReports.zip"); 

除了這一點,我想我刷新頁面(這將擺脫在屏幕上的一些對象。 我通常會做與

return RedirectToAction("Index"); 

但我不能在一次回兩件事情,可一 所以,如果有人能幫忙,那簡直太好了

感謝(:

回答

0
var outputStream = new MemoryStream(); 

using (var zip = new ZipFile()) 
{ 
zip.AddEntry("file1.txt", "content1"); 
zip.AddEntry("file2.txt", "content2"); 
zip.Save(outputStream); 
} 

outputStream.Position = 0; 
return File(outputStream, "application/zip", "filename.zip"); 
+0

不能創建ZipFile的實例,兒子 – Oyyou 2013-03-28 10:13:07

+0

而且,這會甚至刷新? – Oyyou 2013-03-28 10:15:01

+0

嘗試壓縮每個文件並將新壓縮文件返回至dwnload – 2013-03-28 10:18:38

0

有幾種方法可以做到這一點,但對於下載後幾秒鐘內的簡單刷新(更新下載計數等事項),我只需在下載按鈕中添加一個onclick事件並調用以下腳本。因此,文件從控制器返回並且頁面重新加載(5秒)。

function ReloadAfterDelay() 
{ 
    setTimeout(function() { 
     window.location.reload(1); 
    }, 5000); 
}