2011-10-19 185 views
0

我的web應用程序有一個下載按鈕,當客戶端點擊它時,它必須顯示一條消息,說明該文件已被下載。通過Asp.Net下載文件和通知

下面是代碼下載:

FileInfo arquivo = new FileInfo(pathCompletoArquivo); 

FileInfo fInfo = arquivo; 

Response.Clear(); 

Response.ContentType = "application/octet-stream"; 

Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fInfo.Name + "\""); 

Response.AddHeader("Content-Length", fInfo.Length.ToString()); 

Response.WriteFile(fInfo.FullName); 

Response.Flush(); 

我想在此之後顯示一條消息給客戶端,我試圖彈出窗口,JavaScript的...但什麼都不會工作。

Obs .:不需要在下載結束時顯示消息。

回答

0

您不能在同樣的HTTP響應中這樣做,它也會發送文件內容。

您需要做的是在下載按鈕上添加一個click處理程序,該按鈕在文件已下載時顯示一個彈出窗口,並提供下載文件的實際請求(運行您向我們顯示的代碼)不。你會用JavaScript來做到這一點。

+0

是的,我用javascript在另一個窗口中打開另一個頁面。該頁面負責開始下載。 [「window.open(pageDownload.aspx);」] 沒有主頁上的下載代碼,顯示消息正常工作的命令。 – XniperWolf

0

看起來像你在正確的軌道上。確保在寫入響應流時檢查Response.IsClientConnected