java通过HttpServletResponse读取pdf下载
时间: 2023-07-05 20:14:47 浏览: 178
实现java读取网页内容并下载网页中出现的图片.pdf
你可以通过以下代码实现从 HttpServletResponse 中读取 PDF 文件并进行下载:
```java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置文件MIME类型
response.setContentType("application/pdf");
//设置Content-Disposition
response.setHeader("Content-Disposition", "attachment;filename=test.pdf");
//读取文件
InputStream in = request.getServletContext().getResourceAsStream("/test.pdf");
OutputStream out = response.getOutputStream();
//写文件
byte[] buffer = new byte[1024];
int len = -1;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
```
其中,`response.setContentType("application/pdf")` 设置响应的 MIME 类型为 PDF 文件类型,`response.setHeader("Content-Disposition", "attachment;filename=test.pdf")` 设置浏览器下载时使用的文件名,`request.getServletContext().getResourceAsStream("/test.pdf")` 获取 PDF 文件的输入流,`response.getOutputStream()` 获取响应输出流,最后通过循环读取并写入输出流实现文件的下载。
阅读全文