2014-05-05 160 views
0

所以這是我的代碼:我可以強制瀏覽器下載PDF文件而不是打開它嗎?

public class PdfDownloaderServlet extends HttpServlet { 

    @Override 
    protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) 
      throws ServletException, IOException { 
     httpServletResponse.setContentType("application/pdf"); 
     ServletContext servletContext = httpServletRequest.getServletContext(); 
     InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/pdfs/x.pdf"); 
     int read; 
     byte[] bytes = new byte[1024]; 
     OutputStream os = httpServletResponse.getOutputStream(); 
     while ((read = inputStream.read(bytes)) != -1) { 
      os.write(bytes, 0, read); 
     } 
     os.flush(); 
     os.close(); 
    } 
} 

和它工作得很好。

但是,當我點擊調用此方法的鏈接時,瀏覽器將打開該文件,但我希望瀏覽器直接下載該文件。我怎樣才能做到這一點?

謝謝。

+1

嘗試使用'application/octet-stream'。瀏覽器不會知道它是PDF – rpax

+0

@rpax將其作爲答案。 –

+0

@LuiggiMendoza這不公平。這裏回答:http://stackoverflow.com/q/6520231/3315914。我不知道這是一個特定的MIME類型 – rpax

回答

相關問題