現在JSFPrimeFacesに取り組んでいます。プロジェクト名「CV」フォルダにあるファイルをダウンロードしたいのですが、ここで問題に直面しているのは以下のコードです。
ファイルのアップロード:
<h:form enctype="multipart/form-data">
<p:fileUpload
fileUploadListener="#{fileUploadController.handleFileUploadCv}"
mode="advanced" update="messages"
allowTypes="/(\.|\/)(doc|docx)$/" />
<p:growl id="messages" showDetail="true" />
</h:form>
ファイルのダウンロード:
<h:form id="form11">
<p:commandButton id="downloadLink" value="Download Cv" ajax="false"
onclick="PrimeFaces.monitorDownload(start, stop)"
icon="ui-icon-arrowthichk-s">
<p:fileDownload value="#{fileDownloadController.file}" />
</p:commandButton>
</h:form>
コントローラクラスは次のとおりです。
import java.io.InputStream;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;
@ManagedBean
@SessionScoped
public class FileDownloadController {
private StreamedContent file;
public FileDownloadController() {
InputStream stream = ((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()).getResourceAsStream("D:/Final Year Project/displayjob-portlet/docroot/cv/Junaid.cv");
System.out.print("inside download111");
file = new DefaultStreamedContent(stream);
}
public StreamedContent getFile() {
return file;
}
}