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"));

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

相关推荐

纯JavaScript检测页面是否加载完成(理解JavaScript页面加载事件)

JavaScript与页面加载相关的事件先介绍JavaScript与页面加载相关的几个事件:document.readystatechangereadystatechage事件会监控document.readyState。readyState有三个值:loading:文档正在加载interactive:文档已加载完成且已被解析,但子资源(如image,css,iframe等)仍在加载。comple

Spring Boot集成kafka

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

Spring MVC配置CORS

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

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

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

禁止UITableView选中高亮显示

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