2014-11-04 116 views
0

ASP.NET/VB.NET web應用程序。多文件下載

目前我正在創建一個Word文檔並將其流式傳輸給用戶。瀏覽器通過「打開/保存」對話框處理這個問題,等等......

基本上webform有一個多選列表框。他們選擇一個或多個文檔並單擊「生成/下載」按鈕。適用於單個文件。但多個文件不起作用。這裏是我的代碼部分....

HttpContext.Current.Response.Clear() 
HttpContext.Current.Response.AddHeader("Content-Disposition", Convert.ToString("attachment; filename=") & DocFileNameDestination) 
HttpContext.Current.Response.AddHeader("content-length", finalDocumentStream.ToArray().Length.ToString()) 
HttpContext.Current.Response.ContentType = "application/ms-word" 
HttpContext.Current.Response.BinaryWrite(finalDocumentStream.ToArray()) 
HttpContext.Current.Response.Flush() 
HttpContext.Current.ApplicationInstance.CompleteRequest() 

問:我怎樣才能讓用戶下載所有選中的文件在同一時間。我寧願一個非常簡單的解決方案。 (即使我必須創建一個zip ...只有更容易。)

在此先感謝!

+0

這是VB不是asp的,但它可能對你有用:http://www.codeproject.com/Articles/35787/VB-NET-Bgroundground-File-Downloader – Kat 2014-11-04 17:25:30

+0

我個人只是把它們扔進一個' For Each'循環遍歷列表並按順序下載每個文件。 – Zack 2014-11-04 17:40:31

+0

@Zack問題是當瀏覽器中出現「打開/保存」對話框時,代碼已經在繼續,而另一個對話框沒有出現。你能提供一個例子嗎? – WebDevGuy 2014-11-04 21:10:36

回答

0

你可以一次下載一個循環。如果您想一次下載全部文件,可以通過爲循環中的每個文件啓動一個後臺工作程序來單獨下載每個文件。

+0

謝謝。你能爲背景工作者提供一個鏈接或例子嗎? – WebDevGuy 2014-11-04 21:07:18

+0

當然:http://msdn.microsoft.com/en-us/library/cc221403%28v=vs.95%29.aspx – xpda 2014-11-05 07:22:49