PDF文件在同一窗口中打开,但我想在没有另存为对话框的情况下将其作为单独的文件打开。
这是一段相关的servlet代码:
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setHeader("Content-Disposition", "attachment;filename=_blank_");
response.setContentType("application/pdf");
response.setContentLength(baos.size());
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();
有什么建议吗?
答案 0 :(得分:3)
您有两种可能性:
Content-Disposition: attachment;filename=foo.pdf
Content-Disposition: inline;filename=foo.pdf
第一个提示用户保存文件,并且对话框取决于浏览器,您无法从服务器端脚本做很多事情。第二个在浏览器中打开pdf,如果有一个注册程序能够像Adobe Reader那样执行此操作。
答案 1 :(得分:0)
你问这个问题很久以后,可能到现在为止你已经得到了你的问题。我遇到了同样的问题,我的要求是在单独的窗口中打开PDF文件。无论回答什么建议都是好的。我想补充几行。
在servlet中,你应该添加以下代码
webAppAccess.getHttpServletResponse()。setHeader(“Content-Disposition”,“inline; filename = printReport.pdf”);
并在jsp文件中
**window.open('PrintReportConsumer?operation=getShortReport&customerNumber=400000852&relationNumber=400000852&fromDate=29-Jun-2012&toDate=02-Jul-2012&languageId=en&language=en');**