我遇到了一个有用的PDF生成代码,用于在Spring MVC应用程序中向客户端显示该文件(" 使用Spring MVC返回生成的PDF "):
@RequestMapping(value = "/form/pdf", produces = "application/pdf")
public ResponseEntity<byte[]> showPdf(DomainModel domain, ModelMap model) {
createPdf(domain, model);
Path path = Paths.get(PATH_FILE);
byte[] pdfContents = null;
try {
pdfContents = Files.readAllBytes(path);
} catch (IOException e) {
e.printStackTrace();
}
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/pdf"));
String filename = NAME_PDF;
headers.setContentDispositionFormData(filename, filename);
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(
pdfContents, headers, HttpStatus.OK);
return response;
}
Run Code Online (Sandbox Code Playgroud)
我添加了一个声明,表明该方法返回一个PDF文件(" 春3.0的Java REST回报PDF文档 "): produces = "application/pdf".
我的问题是,当执行上面的代码时,它会立即要求客户端保存PDF文件.我希望首先在浏览器中查看PDF文件,以便客户端可以决定是否保存.
我发现 …