我有一個gridview,我已經提供了一個選項供用戶下載pdf文件。當他們點擊pdf圖標時,有時會在新標籤頁中打開pdf文件,有時會開始下載。我怎樣才能讓它始終下載?打開對話框下載pdf
0
A
回答
3
您需要添加一個按鈕(圖像按鈕,linknbutton或按鈕),處理GridView控件的RowCommand事件。在RowCommand處理程序中,您可以編寫代碼來下載文件。
您可以使用Response
對象的方法。
string filepath=MapPath("~/files/file.pdf");
byte []bytes=System.IO.File.ReadAllBytes(filepath);
Response.Clear();
Response.ClearHeaders();
Response.AddHeader("Content-Type", "application/octet-stream");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.AddHeader("Content-Disposition","attachment; filename=file.pdf");
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
2
爲了始終強制下載,您需要添加AVD顯示的Content-Disposition標頭;然而,我覺得這完全沒有必要;我認爲只需在新窗口中打開PDF鏈接即可。換句話說,定義了target="_blank"
。例如:
<a href="file.pdf" target="_blank">invoice</a>
然後,達到他是否要在本地保存文件,或只是看到它在屏幕上的用戶。我認爲重要的是,這不會影響用戶正在查看的當前頁面。
+0
這解決了我的問題,謝謝! – Wint
相關問題
- 1. 用PHP打開下載對話框
- 2. PHP:打開文件下載對話框
- 3. 下載FileStream對象無法打開下載對話框
- 4. 使用iText打開PDF時自動打開打印對話框
- 5. 如何強制下載/打開對話框顯示來自Javascript的PDF?
- 6. Android - 下載和打開PDF
- 7. Elfinder打開PDF下載而
- 8. 打開對話框
- 9. Android對話框,按下按鈕時保持對話框打開
- 10. 打開對話框的下拉圖標
- 11. Iframe問題,當我打開pdf對話框後面pdf
- 12. 如何在pdf生成後打開打印對話框?
- 13. 自動打開PDF文件的打印機對話框
- 14. 在任何Web瀏覽器中打開下載對話框?
- 15. PHP檢測到打開/下載對話框
- 16. 鏈接打開一個下載對話框
- 17. 使用打開的保存對話框下載sharepoint庫文件
- 18. Python中的Selenium - 下載對話框仍然打開
- 19. 在多個下載對話框打開後,Chrome會凍結
- 20. 在Chrome中打開JNLP - 禁止文件下載對話框?
- 21. 如何在Javascript中打開下載對話框?
- 22. 什麼時候文件下載對話框打開? - HTML,Javascript
- 23. 如何打開另存爲對話框從雲下載
- 24. 強制下載:文件下載對話框在IE6 SP1中打開兩次
- 25. Android打開對話框
- 26. ngdialog - 打開子對話框
- 27. 打開/保存對話框
- 28. 打開目錄對話框
- 29. 對話框不打開android
- 30. jQuery UI對話框打開
這取決於;您需要向我們展示一些關於如何定義或檢索網格中的PDF的代碼,然後才能提供答案。 –
點擊pdf圖標我使用javascript打開文件:window.open('src'); return false; – user728630