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();
}
}
和它工作得很好。
但是,當我點擊調用此方法的鏈接時,瀏覽器將打開該文件,但我希望瀏覽器直接下載該文件。我怎樣才能做到這一點?
謝謝。
嘗試使用'application/octet-stream'。瀏覽器不會知道它是PDF – rpax
@rpax將其作爲答案。 –
@LuiggiMendoza這不公平。這裏回答:http://stackoverflow.com/q/6520231/3315914。我不知道這是一個特定的MIME類型 – rpax