Spring - 在浏览器中显示PDF文件而不是下载

问题描述 投票:9回答:2

我想用spring在浏览器中显示pdf。我的问题是浏览器下载文件而不是显示它。这是我的代码:

@RequestMapping(value="/getpdf1", method=RequestMethod.GET)
public ResponseEntity<byte[]> getPDF1() {


    HttpHeaders headers = new HttpHeaders();

    headers.setContentType(MediaType.parseMediaType("application/pdf"));
    String filename = "pdf1.pdf";

    headers.add("content-disposition", "inline;filename=" + filename);

    headers.setContentDispositionFormData(filename, filename);
    headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
    ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(pdf1Bytes, headers, HttpStatus.OK);
    return response;
}

我期待着你的回答!谢谢

spring pdf browser http-headers
2个回答
11
投票

你差不多完成了。只需删除

headers.setContentDispositionFormData(filename, filename);

来自你的代码块。将multipart / form-data发布到服务器时应该使用它。


4
投票

Content-Disposition控制浏览器中的下载或查看

在浏览器中查看

headers.add("Content-Disposition", "inline; filename=" + "example.pdf");

下载

headers.add("Content-Disposition", "attachment; filename=" + "example.pdf");
© www.soinside.com 2019 - 2024. All rights reserved.