0
我有一個java bean,用於從服務器上下載文件。從java bean下載文件只能運行一次
public void download(String filePath) throws IOException {
try {
String fn = new File(filePath).getName();
byte[] data = grabFile(filePath);
XspHttpServletResponse response = (XspHttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.setContentType(URLConnection.guessContentTypeFromName(fn));
response.setHeader("Content-disposition", "attachment; filename=" + fn);
OutputStream output = response.getOutputStream();
output.write(data);
output.close();
}catch(Exception e) {
}finally {
FacesContext.getCurrentInstance().responseComplete();
}
}
我可以使用以下SSJS代碼從我的xpage上的鏈接調用此bean,我在鏈接中使用完整刷新。
var dw = new FileShare();
dw.download("c:\test\filename.docx")
的代碼工作正常,該文件是從該位置處的服務器當我點擊該鏈接,但它只能在第一時間下載。如果我使用瀏覽器刷新按鈕重新加載整個頁面,我可以下載另一個文件。
我該如何修復此代碼,以便我可以單擊以從我的xpage上的所有鏈接下載而無需重新加載瀏覽器。
謝謝你,偉大工程 – 2014-10-01 12:47:43