2012-11-05 52 views
2

我想顯示對話框來保存文件(選擇要保存文件的路徑),同時單擊使用PrimeFaces的下載按鈕。我怎樣才能做到這一點?如何在點擊下載按鈕時顯示文件保存文件對話框?

+0

通常不是一個確定的瀏覽器設置?即如果您設置了默認下載位置,則不會收到提示。 –

+0

歡迎來到Stack Overflow!我們鼓勵你[研究你的問題](http://stackoverflow.com/questions/how-to-ask)。如果你已經[嘗試了某些東西](http://whathaveyoutried.com/),請將其添加到問題中 - 如果沒有,請先研究並嘗試您的問題,然後再回來。 – 2012-11-05 11:56:15

+0

不知道它是否適合您的具體情況,但您可以在響應中將'content-disposition' HTTP標頭設置爲'attachment',以便提示瀏覽器顯示_save as_對話框。請參見HTTP規範的[19.5.1內容處置](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1)。 –

回答

8

The PrimeFaces <p:fileDownload> tag具有爲這你可以設置爲inline(顯示文件內聯)或attachment(彈出一個另存爲對話)的contentDisposition屬性。

<p:fileDownload ... contentDisposition="attachment" /> 

但是,它已經默認爲attachment了!您不應該明確指定它。

所以你的具體問題是由你的瀏覽器本身造成的。當檢索到特定內容類型的文件時,大多數現代瀏覽器都可以配置爲執行特定的默認操作。顯然,您的配置始終顯示爲內聯,無論內容處置如何。目前尚不清楚您使用的是哪種瀏覽器,但Firefox處理它的方式是最常見的,並且讓初學者感到困惑,所以我會針對這個問題給出答案。

當您在Firefox中下載例如PDF文件時,默認情況下會顯示一個包含2個選項的對話框:在Adobe中打開它(內聯),或將其保存到磁盤。在那之下,有一個複選框來記住默認操作。

enter image description here

顯然你曾經打勾,雖然選項設置爲打開該文件,在線和這樣的Firefox絕不會要求你再打開還是保存它。

您可以通過重新配置此工具>選項>應用程序

enter image description here

+0

sry我正在使用contentDisposition =「attachment」。但不適用於Chrome和Firefox。 – Arunprasad

+0

您是否已閱讀並理解答案? :)嘗試閱讀文本,而不是隻看第一塊代碼。 – BalusC

+0

oops sry yar。在Firefox中工作 – Arunprasad

相關問題