gpt4 book ai didi

java - 从 java bean 下载文件只能运行一次

转载 作者:行者123 更新时间:2023-12-02 05:24:57 24 4
gpt4 key购买 nike

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

最佳答案

您必须在链接中使用 XSP.allowSubmit()。

查看 Henrik Lausten 的回答 here (已验证的)了解更多详细信息

雷诺

关于java - 从 java bean 下载文件只能运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26138592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com