シンプルなファイルダウンロードをしようとすると、私はAJAXステータスバーがぶら下がっているだけです。私のバッキングビーン出力は、prepとダウンロードに正しい名前を表示します。Primefaces Fileダウンロードが動作しません。
これは間違っていますか?両方の出力が正しいと思われます。
JSF 2.0 Primefaces 3.4
<h:form>
<p:commandButton id="downloadLink" value="Download" actionListener="#{filemanagement.prepDownload}">
<p:fileDownload value="#{filemanagement.download}" />
</p:commandButton>
</h:form>
バッキングBean:
private DefaultStreamedContent download;
public void setDownload(DefaultStreamedContent download) {
this.download = download;
}
public DefaultStreamedContent getDownload() throws Exception {
System.out.println("GET = " + download.getName());
return download;
}
public void prepDownload() throws Exception {
File file = new File("C:\\file.csv");
InputStream input = new FileInputStream(file);
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
setDownload(new DefaultStreamedContent(input, externalContext.getMimeType(file.getName()), file.getName()));
System.out.println("PREP = " + download.getName());
}
おかげ - ダウンロード(FF 17)の入力を要求しませんでした。しかし、この情報に感謝する(それを逃した)。 – user2124871
ファイル管理Beanのスコープは? – Manuel
セッション - ビュー自体には3つのフォームがあります。それらのどれもが混ざり合っていません。私はPrimefaceを読んでいて、複数の書式をスケッチにすることができます。 – user2124871