2014-10-10 39 views
0

你能帮我吗 1)如何在新的浏览器选项卡或窗口中打开pdf。 (OR) 2)pdf应直接下载到本地系统。response.send从servlet重定向到应该下载的pdf格式

这是我使用的代码,

response.reset(); 
response.setContentType("application/octet-stream"); 
response.setHeader("Content-Disposition", "attachment;filename=\""+"zseriessection9.pdf"+"\""); 
response.sendRedirect(contextPath +"/zseriessection9.pdf"); 
+0

你能否请更详细地解释你正在尝试做什么以及你正在经历什么错误? – Pseudonym 2014-10-10 14:32:04

+0

您首先需要了解重定向是什么。 – 2014-10-10 14:32:05

+0

我有一个pdf位于一个enternal webserver上。我的应用程序中有一个servlet,我必须使用URL访问该pdf。我有我的网址。其任务是,访问该URL时,应该下载pdf,否则应该在新窗口中打开。 – Dravidian 2014-10-10 14:51:22

回答

1

你应该有下面的参数,

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
response.setContentType("application/pdf"); 
       response.setHeader("Content-Disposition", "attachment; filename=sample.pdf"); 
       OutputStream os = response.getOutputStream(); 
       baos.writeTo(os); 
       os.flush(); 
       os.close(); 

它会显示一个浏览器窗口,opensave PDF文件。 response#getOutputStream()使这里的技巧和重定向不做这个,因为它创建一个新的请求

+0

我有一个pdf驻留在一个永恒的web服务器上。我在我的应用程序中有一个servlet,我必须使用** URL **访问该pdf。我有我的网址。其任务是,访问该URL时,应该下载pdf,否则应该在新窗口中打开。 – Dravidian 2014-10-10 15:18:44