我有一个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上的所有链接下载而无需重新加载浏览器。