2015-09-09 95 views
5

在我的servlet中,我使用下面的代碼在瀏覽器中打開PDF文件,但是卻顯示一個下載對話框。如何在瀏覽器中顯示PDF文件

我做錯了什麼?

response.setContentType("application/pdf"); 
out = response.getWriter(); 
String filepath = "D:/MyFolder/PDF/MyFile.pdf"; 

response.setHeader("Content-Disposition", "inline; filename=" + filepath + ";"); 
FileOutputStream fileOut = new FileOutputStream("D:/MyFolder/PDF/MyFile.pdf"); 

fileOut.close(); 
out.close(); 
+1

http://stackoverflow.com/questions/291813/recommended-way-to-embed-pdf-in-html? – gates

+0

我有一個解決方案,但沒有太多fessible即使用apache poi api並將pdf文件中的每個頁面轉換爲圖像,然後顯示它 –

+0

我怎麼能在servlet中做到這一點? –

回答

0

ü可以嘗試做同樣的

response.setHeader("Content-Disposition", "attachment; ilename="+filepath+";"); 
5

正如你必須設置具有以下配置的響應類型: -

File outPutFile=new File(generatedFile); 
stream = response.getOutputStream(); 
response.setContentType("application/pdf"); 
response.setHeader("Content-Disposition", "inline; filename=\"" + filename + "\""); 
response.setContentLength((int) outPutFile.length()); 
+0

小錯字:outPut - >輸出(它只有1個字) – tucuxi

+0

@SaviNuclear我試過了,但它不工作,你可以建議一些其他的方法? –

+0

@vineethPrabhakaran可以請您提供錯誤消息或記錄詳細信息以瞭解您的問題。 – SaviNuclear

0

This相關

是您的瀏覽器火狐? This可能有關

+0

其實我試過使用它,但仍然無法顯示pdf –

0

你需要這個:

response.setContentType("application/pdf") 
response.setHeader("Content-Disposition", "inline; filename= .. ") 

否則,瀏覽器會提示您打開/保存。 (如果內容類型是八位字節流,或者內容處置是附件)

如果您要將pdf顯示在選項卡中,您需要在html中設置target =「_blank」(或angular,jsp,無論你使用什麼框架)。

相關問題