PrimeFacesでダウンロードボタンをクリックした際に、ファイルを保存する(ファイルを保存するパスを選択する)ダイアログボックスを表示したい。どうすればこれを達成できますか?
1 に答える
PrimeFaces<p:fileDownload>
タグには、(ファイルをインラインで表示する) または([名前を付けて保存] ダイアログをポップする) にcontentDisposition
設定できる属性があります。inline
attachment
<p:fileDownload ... contentDisposition="attachment" />
ただし、デフォルトではattachment
すでに!明示的に指定する必要はありません。
したがって、具体的な問題は Web ブラウザ自体が原因です。最近のほとんどの Web ブラウザーは、特定のコンテンツ タイプのファイルが取得されたときに、特定の既定のアクションを実行するように構成できます。どうやら、コンテンツの配置に関係なく、常にインラインで表示するように構成されているようです。使用している Web ブラウザーは不明ですが、Firefox がそれを処理する方法は、初心者の間で最も一般的で混乱を招くものであるため、それについての回答を対象とします。
たとえば、Firefox で PDF ファイルをダウンロードすると、デフォルトでダイアログが表示され、2 つのオプションが表示されます。Adobe で (インラインで) 開くか、ディスクに保存します。その下には、デフォルトのアクションを記憶するためのチェックボックスがあります。
どうやら、ファイルをインラインで開くようにオプションが設定されているときに、これにチェックマークを付けたことがあるようです。このようにして、Firefoxはファイルを開くか保存するかを尋ねることはもうありません.
これは、 [ツール] > [オプション] > [アプリケーション]で再構成できます。