@GetMapping(value = "/pdf",produces= MediaType.APPLICATION_PDF_VALUE)
public ResponseEntity<InputStreamResource> getTermsConditions() throws Exception {
String filePath = "C:\";
String fileName = "PDF.pdf";
File file = new File(filePath+fileName);
HttpHeaders headers = new HttpHeaders();
// headers.add("content-disposition", "inline;filename=" +fileName);
headers.add("Content-Disposition", "attachment; filename=" + fileName);
InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
return ResponseEntity.ok()
.headers(headers)
.contentLength(file.length())
.contentType(MediaType.parseMediaType("application/pdf"))
.body(resource);
}
打开文件,但格式不正确。
����6 0 obj<lt/类型/ExtGState/BM/Normal/ca 1>gt;endobj 7 0 obj<lt/类型/ExtGState/BM/Normal/CA1>gt;endobj 10 0 obj<lt/过滤器/扁平ecode/长度156465/长度eP}��&֓�����
请帮我。我想在类似浏览器的在线图书馆中打开书籍pdf
使用值"附件";对于响应报头";内容处置";将下载PDF。而不是在新选项卡中显示。
值";内联";对于响应报头";内容处置";将在浏览器的新选项卡中打开PDF。
例如:
v1
headers.add("Content-Disposition", "inline;filename=PDF.pdf");
v2
headers.add(HttpHeaders.CONTENT_DISPOSITION, "inline;filename=PDF.pdf");
您可以查看:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition