后端返回文件流给前端 PDF文件
时间: 2023-11-29 14:01:06 浏览: 98
可以在后端使用一些库或工具来生成 PDF 文件,例如 iText 或 Apache PDFBox。在生成完毕后,可以将生成的 PDF 文件以二进制流的形式返回给前端。
以下是一个使用 Spring Boot 框架返回 PDF 文件流的示例代码:
```java
@GetMapping("/download-pdf")
public ResponseEntity<ByteArrayResource> downloadPDF() throws IOException {
// 生成 PDF 文件
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document document = new Document();
PdfWriter.getInstance(document, baos);
document.open();
document.add(new Paragraph("Hello, World!"));
document.close();
// 将 PDF 文件以二进制流的形式返回给前端
ByteArrayResource resource = new ByteArrayResource(baos.toByteArray());
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=myfile.pdf")
.contentType(MediaType.APPLICATION_PDF)
.contentLength(resource.contentLength())
.body(resource);
}
```
这个示例代码会生成一个包含 "Hello, World!" 文本的 PDF 文件,并将其以二进制流的形式返回给前端。前端可以通过调用这个接口来下载 PDF 文件。
阅读全文