我经历了关于相同/相似问题的答案/讨论,发现我应该使用“响应”方法一次下载文件或获取HTML页面。对于成功下载文件后的情况,我想显示成功警报消息。当我使用“响应”方法下载文件并打印成功警报消息时,我总是得到:已经为该响应异常调用了getOutputStream()。
解决此问题的正确方法是什么?
下面是我的代码部分:
// Write data in the excel
ServletOutputStream out = response.getOutputStream(); => It successfully creates excel file
workbook.write(out);
// Close output stream and workbook
workbook.close();
out.flush();
out.close();
PrintWriter pw = response.getWriter(); => My problem is here!!
response.setContentType("text/html");
pw.println("<script type=\"text/javascript\">");
pw.println("alert('" + message + "');");
pw.println("history.back();");
pw.println("</script>");
答案 0 :(得分:0)
您试图在同一HTTP请求的响应中返回两个对象。这不是HTTP的工作方式。没有浏览器会支持。
AFAIK,无法在javascript中检测“下载完成”事件。