Spring MVC返回pdf文件并在页面显示而不是下载

1、spring mvc下载pdf

@RequestMapping(value="/getpdf", method=RequestMethod.POST)
public ResponseEntity<byte[]> getPDF(@RequestBody String json) {

    // 读取pdf文件到字节里
    Path path = Paths.get("path/to/file");
    byte[] contents = Files.readAllBytes(path);

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.parseMediaType("application/pdf"));
    String filename = "output.pdf";
    headers.setContentDispositionFormData("attachment", filename);
    headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
    ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(contents, headers, HttpStatus.OK);
    return response;
}

如果上面的代码变为下载,可以尝试

headers.setContentDispositionFormData("inline", fileName);

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

浏览器会尝试把inline的内容显示在页面。

如果有中文乱码问题:

headers.setContentDispositionFormData("attachment", new String(filename.getBytes("utf-8"), "ISO8859-1"));

版权声明:著作权归作者所有。

相关推荐

禁止UITableView选中高亮显示

去掉UITableViewCell的Selection style即可Objective-Ccell.selectionStyle = UITableViewCellSelectionStyleNone; 或者[cell setSelectionStyle:UITableViewCellSelectionStyleNone]; Swift 2cel

CentOS:yum安装rz和sz上传下载文件

安装$sudo yum install -y lrzsz rz使用rz上传本地文件到服务$rz 执行命令后,在弹出框中选择要上传的文件即可。sz下载服务器的文件到本地$sz filepath 设置默认本地上传下载目录SecureCRT软件 -> Options -> session op

Spring MVC配置CORS

Spring Framework 从4.2开始支持配置CORS。Spring MVC支持CORS的范围包括:方法级别配置CORS全局配置CORS方法级别配置CORS使用注解@CrossOrgin可以对@RequestMapping注解的方法设置CORS。@RestController @RequestMapping("/users") public

Spring Boot集成kafka

Spring Boot对kafka提供了自动配置(auto configuration)。使用用Spring Boot只需要做很少的配置即可集成对kafka的访问。pom配置1、继承spring-boot-starter-parent<parent>   <groupId>org.springframework.boot&l

Spring Boot集成RabbitMQ发送接收JSON

在Spring Boot 集成RabbitMQ一文中介绍了如何集成RabbitMQ。默认情况下发送的消息是转换为字节码,这里介绍一下如何发送JSON数据。ObjectMapper最简单发送JSON数据的方式是把对象使用ObjectMapper等JSON工具类把对象转换为JSON格式,然后发送。如下:@Autowired private ObjectMapper&nbs

Ubuntu在终端显示Git的分支名

在Ubuntu的~/.bashrc添加代码,用于在终端显示git的分支名# 显示git分支 force_color_prompt=yes color_prompt=yes parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' } if [ "$color_promp