2011-07-13 45 views
2

我正在使用ASP.NET MVC 2.0 & .NET框架3.5 sp1。如何讓用戶在asp.net mvc 2中異步下載多個文件?

我有一個行動,目前採取viewmodel作爲它的參數。該操作具有返回類型的FileResult。它在我的應用程序中用於生成pdf並將其流式傳輸給用戶進行下載。有沒有辦法讓這個動作異步運行,以便多個文件可以流式傳輸回用戶?我知道這很醜陋,但這是用戶所要求的和b/c權限問題,這些文件僅存在於內存中,所以我不能將它們壓縮在一起並將其壓縮。本質上,用戶將點擊他想下載的文件,並且下載對話框將顯示每個文件。

我正在尋找讓我的控制器繼承AsyncController並實現MyActionAsync & MyActionCompleted類型的方法。根據我自己的測試,我認爲這是無法完成的。有人可以驗證這一點?

回答

3

對服務器的一個請求只能返回單個文件。所以你的代碼應該可以正常工作 - 用戶點擊鏈接並獲取文件,點擊另一個鏈接並獲取另一個文件。

如果你想要有像「file1 [],file2 [x],file3 [x],file4 []」等複選框,我想你可以在相應的鏈接上用JavaScript調用點擊 - 只要響應者​​有正確的標題它應該顯示文件保存對話框。用戶expirience也會奇怪,我認爲。

+0

是的,我不認爲這是可能的,但直到用戶提出請求時,我纔想到嘗試的想法。運行在每個chk box的click事件上的javascript可能會工作,但它肯定會看起來更奇怪。 – jason