原因:本来是前端直接用url 显示pdf、但是url 容易暴露。

后来使用后台返回文件流的形式输出、前端显示、不多说直接上代码

1、文件存在服务器本地

@RequestMapping(value = "/preview", method = RequestMethod.GET)
public void pdfStreamHandler(HttpServletRequest request, HttpServletResponse response) {//PDF文件地址File file = new File("D:\\123.pdf");if (file.exists()) {byte[] data = null;FileInputStream input=null;try {input= new FileInputStream(file);data = new byte[input.available()];input.read(data);response.getOutputStream().write(data);} catch (Exception e) {System.out.println("pdf文件处理异常:" + e);}finally{try {if(input!=null){input.close();}} catch (IOException e) {e.printStackTrace();}}}
}

2、文件存在远程通过url 可以直接打开的那种

@GetMapping("getPdfView")
@ApiOperation(value = "PDF预览")
public void getPdfView(HttpServletRequest request, HttpServletResponse response){BufferedInputStream in = null;
String remoteFileUrl = "String remoteFileUrl = "http://10.0.5.38/image/download2/node1/2021/06/25/10/12115030882021-06-254772444994050582221.pdf";";
try {BossPspData bossPspData = pspService.selectByPrimaryKey(id);if (null == remoteFileUrl || remoteFileUrl.length() == 0) {throw new RuntimeException("remoteFileUrl is invalid!");}URL url = new URL(remoteFileUrl);byte[] data = null;in = new BufferedInputStream(url.openStream());int i;while ((i = in.read()) != -1) {response.getOutputStream().write(i);}in.close();response.getOutputStream().close();
}catch (Exception ex){ex.printStackTrace();
}finally {try {if(in!=null){in.close();}} catch (IOException e) {e.printStackTrace();}
}
}

Springboot 以输出流形式 在线预览PDF 文件分存储 (本地/远程)相关推荐

  1. html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

  2. html做在线预览pdf文件,html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

  3. android 在线预览pdf文件

    android原生webView不支持预览pdf文件,ios却可以,所以android想要实现在线预览webView要通过其他方法,有以下几种方法: 1.andorid原生自带的pdf管理库,主要提供 ...

  4. 如何在html中在线预览pdf文件?

    方法1:使用 jquery js 库 1.引入 jquery-3.1.1.min.js 和 jquery.media.js 两个js文件,下载保存到本地 下载连接:jquery-3.1.1.min.j ...

  5. Vue-pdf实现在线预览PDF文件

    前言 在大多数项目中都会遇到在线预览PDF文件,项目使用的是element ui,使用vue-pdf实现. 安装依赖 npm install --save vue-pdf 相关参数 参数介绍: url ...

  6. uniapp在线预览pdf文件

    公司要求uniapp打包的h5和app都要能在线预览pdf文件.最开始是想找uniapp的插件,去插件市场搜了下,没得几个插件可用,且需要收费,所以直接用的pdf.js插件实现,在h5以及h5打包的a ...

  7. 网页中实现安卓手机在线预览PDF文件

    写在前面:本文为转载,原文链接:https://blog.csdn.net/super_DuoLa/article/details/90207965原文链接 苹果手机可以直接在线预览PDF文件,而安卓 ...

  8. html 在线预览pdf功能,html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件!javascript 翻来覆去找到两种办法 ,最后采用了jquery.media.js插 ...

  9. js在线预览pdf文件

    js在线预览PDF文件 一.效果预览 二.实现代码: <html> <head> <meta http-equiv="Content-Type" co ...

最新文章

  1. ComplexHeatmap |理解绘图逻辑绘制热图
  2. iPhone 13 Pro系列最新渲染图曝光:小刘海+大尺寸后置相机模组
  3. html 样式初始化,css样式初始化
  4. Python中的join函数
  5. Android各种dialog
  6. L1正则化与嵌入式特征选择(稀疏性)
  7. SQL查看存储过程相关信息
  8. babel import语法 js_webstorm配置babel自动转译es6的两种方法
  9. 网易云音乐encseckey算法php,网易云音乐热评api
  10. 用Python学《微积分B》(Fourier级数)
  11. 60个未来的新兴服务业最红火
  12. ubuntu 20.04gitlab-runner docker方式安装使用
  13. 部署https后访问提存在安全隐患NET::ERR_SSL_OBSOLETE_VERSION
  14. CheckBox和ListView的结合使用
  15. VR眼镜连接android设备,华为VR眼镜和电脑如何连接 投屏软件PCVR Assistant 2.0使用教程...
  16. RTL8723BU BTwifi
  17. VMware Workstation 11.0.0多国语言(含简体中文)+永久激活密钥
  18. 28、完美的RestApi
  19. 先行一步,7 大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了
  20. 华为自研设备明年都将升级鸿蒙系统,华为杨海松:明年所有华为自研设备升级鸿蒙系统,将发布鸿蒙系统智能手机...

热门文章

  1. 最全的Matlab工具箱免费分享
  2. php知识库管理系统,开源知识库管理系统
  3. java随机抽题系统_JAVA程序设计题六:随机抽奖系统
  4. 去除浏览器首页的方法(hao123,2345...)
  5. [狂顶]国内免费图片外链网站
  6. window 命令行bat脚本软连接执行exe
  7. lay-verify
  8. Juniper防火墙映射内外网不同端口
  9. vmware linux 3d加速,Ubuntu虚拟机安装Virtualbox增强功能启用3D加速
  10. 毕业论文-----有关页码的全部问题