gpt4 book ai didi

xpages - 如何从 xPages 流式传输文件?

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

我正在尝试将文件从文件系统流式传输到浏览器,但无法正常工作。我有一个带有 render=false 的 xpage 并且在 afterRenderResponse 上我有以下代码:

XspHttpServletResponse  response = (XspHttpServletResponse) getFacesContext().getExternalContext().getResponse();

response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename=demofile.exe");

File file = new File("path to file");
FileInputStream fileIn = new FileInputStream(file);
ServletOutputStream out = response.getOutputStream();
etc. .....

现在,当我尝试打开 xpage 时,我在控制台上收到错误消息:
java.lang.IllegalStateException: Can't get an OutputStream while a Writer is already in use
at com.ibm.xsp.webapp.XspHttpServletResponse.getOutputStream(XspHttpServletResponse.java:548)

'response.getOutputStream()' 方法引发了这样的错误,所以我无法让输出流工作。有没有人有这方面的经验?我只是想实现下载服务,这样我就可以将文件从服务器文件系统流式传输回浏览器。

最佳答案

您可以在 beforeRenderResponse 中调用 facesContext.getOutputStream() 而不是从 afterRenderResponse 中调用。

有关更多帮助,请参阅以下链接:

http://www.wissel.net/blog/d6plinks/SHWL-8BYMW8

http://www.wissel.net/blog/d6plinks/shwl-7mgfbn

关于xpages - 如何从 xPages 流式传输文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9468352/

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