我想预览一个pdf文件genereted与java,但下面的代码给出了这个错误
无法识别的响应类型;将内容显示为文本。
@GetMapping("/previewPDF/{codeStudent}")
public ResponseEntity<byte[]> previewPDF(@PathVariable("codeStudent") String code) throws IOException {
byte[] pdf = //pdf content in bytes
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "inline; filename=" + "example.pdf");
headers.setContentType(MediaType.parseMediaType("application/pdf"));
return ResponseEntity.ok().headers(headers).body(pdf);
}
更新:这是错误x1c 0d1x的屏幕截图
2条答案
按热度按时间yftpprvb1#
您需要为资源指定响应PDF媒体类型。
请参见RFC standart。媒体类型的完整列表。
Spring文档关于产生媒体类型。
还为
ResponseEntity
设置PDF内容类型yduiuuwa2#
接受的答案直接下载PDF,而不是做预览,所以我不得不将
Content-Disposition
设置为inline
。