gpt4 book ai didi

java - 出现错误 "getOutputStream() has already been called for this response"

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:40 26 4
gpt4 key购买 nike

我正在显示某些事件的报告。我希望 Controller 显示用于保存和打开的弹出窗口。

我已经在响应中设置了文件,设置响应后我将返回 View 。

现在我的问题是,

我收到错误“java.lang.IllegalStateException:已为此响应调用 getOutputStream()”

在我的 Controller 类中,我编写了以下代码:

......一些代码......

InputStream is =
new FileInputStream(new File("c:/reports/test_jasper.pdf"));
response.setHeader("Content-Disposition","attachment;filename=\"test_jasper.pdf\"");
OutputStream opStream = response.getOutputStream();
IOUtils.copy(is, opStream);
response.flushBuffer();
HttpServletResponse response1 = new HttpServletResponse();



model.addAttribute(ABC, new abc());

model.addAttribute(DEF, new def());
return SOME_VIEW;

框架:

Spring-MVC、Hibernate

异常(exception):

java.lang.IllegalStateException:已为此响应调用 getOutputStream()

所需的 O/P :我希望响应显示文件的弹出窗口,并希望浏览器重定向到其他 View 。

最佳答案

在请求处理期间,将调用 HttpServletResponse.getWriter()HttpServletResponse.getOutputStream()。根据规范,同时使用 OutputStream 和 Writer 是非法的。

您遇到的异常是在尝试在其他地方调用 HttpServletResponse.getWriter() 时抛出的/

关于java - 出现错误 "getOutputStream() has already been called for this response",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11271816/

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