相关疑难解决方法(0)

在新的浏览器选项卡中打开ResponseEntity PDF

我遇到了一个有用的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文件,以便客户端可以决定是否保存.

我发现 …

java pdf spring spring-mvc

14
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×1

pdf ×1

spring ×1

spring-mvc ×1