Java后台返回PDF文件预览下载

开始的代码的系统代码为:

ResponseEntity<byte[]> onePdf = s3Wrapper.download(contractEntity.getContractUrl());out.write(onePdf.getBody());response.setContentType("application/pdf");response.setHeader("Content-Disposition", "attachment; filename=" + Encodes.urlEncode(contractEntity.getContractName()));

一开始没有看出来代码是有问题的,pdf流在response设置头信息时已经返回了,相当于最后两段设置头的代码没调用,在使用HttpServletResponse对象时要考虑到代码前后的关系,避免出错。

把设置头的代码放在流输出之前还是有问题,调用接口时发现pdf文件直接下载了,没有达到预览的效果。检查了半天之后发现是attachment属性的问题,

参考如下:
Content-Disposition的使用方法
一、作用:

1)希望某类或者某已知MIME类型的文件(比如:*.gif;txt;.htm)能够在访问时弹出"文件下载对话框"

2)希望客户端下载时以指定文件名显示

3)希望某文件直接显示而不是弹出文件下载对话框

二、使用语句:

response.setHeader(“Content-disposition”, “attachment;filename=” +filename);

Content-disposition:属性名

attachment:表示以附件方式下载,如果要在页面中打开,可以改为inline.

注意:filename如果是中文会出现乱码:解决办法:

1、将filename 替换为 new String(filename.getBytes(), “ISO8859-1”);
2、将filename 替换为 URLEncoder.encode(filename, “utf-8”);

最后的代码语为

ResponseEntity<byte[]> onePdf = s3Wrapper.download(contractEntity.getContractUrl());response.setContentType("application/pdf");response.setHeader("Content-Disposition", "inline; filename=" + Encodes.urlEncode(contractEntity.getContractName()));out.write(onePdf.getBody());

pdf文件可以正常预览并且下载,问题解决。

如果需要解决java接口返回pdf时修改文件名称问题:
参考:java接口返回pdf时修改文件名称问题

Java后台返回PDF文件预览下载相关推荐

  1. java pdf文件下载_Java后台返回PDF文件预览下载

    Java后台返回PDF文件预览下载 开始的代码的系统代码为: ResponseEntity onePdf = s3Wrapper.download(contractEntity.getContract ...

  2. java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯

    获取[下载地址] QQ: 313596790 官网 http://www.fhadmin.org/ A 代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B 集成代码生成器 [ ...

  3. Java后台实现pdf文件在浏览器中预览

    Java后台实现pdf文件在浏览器中预览 放在服务器的pdf文件不能通过完整路径访问,想要实现的效果是浏览器访问后台接口可以预览pdf文件,暂时是把pdf文件放在本地测试 通过输出流的方式将pdf文件 ...

  4. Java使用openOffice转PDF以及PDF文件预览乱码问题

    Java使用openOffice转PDF以及PDF文件预览乱码问题 使用openOffice,支持doc, docx, .xls, .xlsx, .ppt, .pptx转pdf 一:依赖 <de ...

  5. JAVA 实现返回PDF文件流并进行下载

    JAVA 实现返回PDF文件流并进行下载 首先确保本地存放pdf 保证通过路径可以拿到文件 我这边把pdf放在e盘下的目录 1.前台方法 原生ajax 发送请求返回文件流进行下载 function d ...

  6. 【iframe结合pdf.js实现pdf的预览/下载及打印功能】

    iframe结合pdf.js实现pdf的预览/下载及打印 1.[下载pdf.js](http://mozilla.github.io/pdf.js/getting_started/#download) ...

  7. Vue PDF文件预览打印vue-pdf

    Vue PDF文件预览vue-pdf 最近做项目,遇到预览PDF这个功能,在网上找了找,大多推荐的是pdf.js,不过在Vue中还是想偷懒直接npm组件,最后找到了一个还不错的Vue-pdf 组件,G ...

  8. Java 实现word pdf在线预览

    Java 实现word pdf在线预览 最近项目有这个需求,查找了一些资料,在这整理一下. 首先,pdf的文件,浏览器本身支持预览,不需要做什么处理. controller: 简单说下思路:就是利用i ...

  9. 用vue-pdf包实现pdf文件预览,支持分页

    vue项目实现pdf文件预览功能 下载vue-pdf包 npm install --save vue-pdf template模板内容: //pdf组件 <pdf :src="pdfF ...

  10. 手机端pdf文件预览pdf.js使用方法详解

    虽然H5页面可以通过A直接访问html 但可惜的是 手机端H5页面这样做就直接变下载了 那么想要实现手机端的pdf文件预览就需要用到pdf.js了 首先 我们访问地址 http://mozilla.g ...

最新文章

  1. Kibana + Elasticsearch + ik分词的集群搭建
  2. Android开发工具——ADB(Android Debug Bridge) 三DalvikVM之jdwp线程
  3. python redis 消息队列
  4. 支付开发填坑记之支付宝
  5. goroutine sync.RWMutex读写锁RLock的使用
  6. 【数据结构与算法】内部排序之三:堆排序(含完整源码)
  7. tailwind css_什么是Tailwind CSS,如何将其添加到我的网站或React App中?
  8. 在eclipse中安装svn插件
  9. Hive文件存储格式和hive数据压缩
  10. SharePoint创建登录表单
  11. 二分函数lower_bound()
  12. Python Cartopy地图投影【2】
  13. c 语言所有符号,c语言 符号
  14. Excel·VBA自定义函数判断单元格元素相同/重复
  15. 计算机导论.mobi,计算思维:计算学科导论
  16. 为什么百度云可以给每位用户分配两T的存储空间?
  17. 每周一品 · 音圈电机(VCM)中的磁性材料
  18. 机器学习笔记(吴恩达老师)
  19. MySQL5.7安装--二进制方式安装
  20. 2021年4月26日 星期一 三月十五 阴

热门文章

  1. 华为数通HCIA学习笔记之数据通信与网络基础(二)
  2. lombok依赖包介绍
  3. 利用武汉市遥感影像进行土地利用分类分析
  4. 在线文本字符串转十六进制工具
  5. php简单的日历代码,php日历代码(附演示效果)
  6. 【博主推荐】HTML5响应式手机WEB(附源码)
  7. 最小二乘残差 C语言6,传感器原理和应用习题_第1章.doc
  8. 超级计算机中心建设方案,超算中心建设框架
  9. JLink重刷固件(win7/win8/win10亲测可用)
  10. Android so文件理解