0
次のJSFダウンロード方法があります。すべて正常に動作します::ダウンロードボックスが表示され、ファイルが選択されたディレクトリにダウンロードされた後、ページ上のカーソルは応答を待っているかのようにビジー状態を続けます。そのため、私はページ上のどの要素もクリックできません。JSFファイルのダウンロード - レスポンスを待つときにカーソルがビジー状態になる
public void download()throwsIOException{
FacesContext con = FacesContext.getCurrentInstance();
ExternalContext ex = con.getExternalContext();
File file = new File(DIRECTORY_PATH_HERE + FILENAME_BERE);
ex.responseReset();
ex.setResponseContentType("application/octet-stream");
try {
ex.setResponseContentLength((int)file.length());
} catch (IOException e) {
e.printStackTrace();
}
ex.setResponseHeader("Content-Disposition", "attachment; filename=\"" + FILE_NAME + "\"");
final HttpServletResponse res = (HttpServletResponse)excon.getResponse();
ServletOutputStream out = res.getOutputStream();
FileInputStream fs = new FileInputStream(file);
byte[] buf = new byte[ifs.available()];
int i = 0;
while((i = fs.read(buf)) != -1){
out.write(buf);
}
out.flush();
out.close();
fs.close();
fc.responseComplete();
}
助けてください。ありがとうございました。
ようなものになるだろう、あなたの人生が容易になりますあなたもJSF一部を投稿することができます – Karim