2014-10-10 67 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