前端根据HttpServletResponse在线显示文件
时间: 2023-10-16 11:22:10 浏览: 140
可以通过设置响应头来实现。例如,如果要在线显示PDF文件,可以按照以下步骤:
1. 在响应头中设置Content-Type为"application/pdf",表示响应的内容类型为PDF文件。
2. 在响应头中设置Content-Disposition为"inline;filename=xxx.pdf",其中xxx.pdf为文件名,inline表示在浏览器中直接显示文件,如果设置为attachment则表示提示用户下载文件。
3. 将PDF文件的内容写入响应输出流中。
以下是示例代码:
```java
@RequestMapping(value = "/showPdf", method = RequestMethod.GET)
public void showPdf(HttpServletResponse response) throws IOException {
// 读取PDF文件
InputStream inputStream = new FileInputStream(new File("文件路径"));
// 设置响应头
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline;filename=xxx.pdf");
// 写入响应输出流
IOUtils.copy(inputStream, response.getOutputStream());
response.flushBuffer();
}
```
其中IOUtils.copy()是Apache Commons IO库中的方法,用于将输入流复制到输出流中。你需要在项目中引入commons-io库。
阅读全文