在线pdf文档在线预览
时间:2021-09-09
本文章向大家介绍在线pdf文档在线预览,主要包括在线pdf文档在线预览使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
后台
1 @RequestMapping("getPdfStreamFromRootPath") 2 public void getPdfStreamFromRootPath(HttpServletRequest request,HttpServletResponse response) throws IOException{ 3 //附件路径 4 //String configPath = configproperties.getProperty("file.upload"); 5 String configPath = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/"); 6 String filePath = RequestUtil.getString(request, "filePath"); 7 // 判断文件是否存在 8 File file = new File(configPath + File.separator + filePath); 9 if (!file.exists()) { 10 writeResultMessage(response.getWriter(), new ResultMessage(ResultMessage.Fail, "文件不存在!")); 11 return; 12 } 13 response.setContentType("application/pdf;charset=UTF-8"); 14 BufferedInputStream in = null; 15 OutputStream out = null; 16 try { 17 in = new BufferedInputStream(new FileInputStream(file)); 18 out = response.getOutputStream(); 19 byte[] b = new byte[10*1024]; //10k 20 int i; 21 while ((i = in.read(b)) != -1) { 22 out.write(b, 0, i); 23 } 24 out.flush(); 25 } catch (FileNotFoundException e) { 26 e.printStackTrace(); 27 } catch (IOException e) { 28 e.printStackTrace(); 29 } finally { 30 try { 31 if (in != null) { 32 in.close(); 33 } 34 if (out != null) { 35 out.close(); 36 } 37 } catch (IOException e) { 38 e.printStackTrace(); 39 } 40 } 41 } 42 }
前端js
1 function fileViewOnline(filePath){ 3 $("#fileOnlineView").show(); 4 $('#fileOnlineView').dialog({ 5 title: "在线预览", 6 width: 1100, 7 height: 800, 8 left: 150, 9 closed: false, 10 cache: false, 11 modal: true 12 }); 13 var url =__ctx + '/js/pdfView/web/viewer.html?file='+encodeURIComponent(__ctx+'/Util/FileDownUploadController/getPdfStreamFromRootPath.ht?filePath='+filePath); 14 $("#pdf_page").attr("src",url); 15 }
html
1 <div id="fileOnlineView" style="height:700px;"> 2 <iframe id ="pdf_page" name ="pdf_page" style="width:99.5%;height:99%;"> 3 </iframe> 4 </div>
原文地址:https://www.cnblogs.com/yy-hang/p/15246320.html
- 基于堆实现的优先级队列:PriorityQueue 解决 Top K 问题
- explain 深入剖析 MySQL 索引及其性能优化指南
- 图文并茂详解 SQL JOIN
- 自定义 hadoop MapReduce InputFormat 切分输入文件
- Hadoop MapReduce 二次排序原理及其应用
- MySQL Tips【Updating】
- Meltdown、Spectre攻击---CPU乱序执行和预测执行导致的安全问题
- WordPress 4.6远程代码执行漏洞(CVE-2016-10033)复现环境搭建指南
- 相似文档查找算法之 simHash 简介及其 java 实现
- Hadoop 中利用 mapreduce 读写 mysql 数据
- Android O中对TEE加解密算法的新要求
- storm 原理简介及单机版安装指南
- Python Tips, Tricks, and Hacks
- 英特尔放出Linux微代码以修复Meltdown和Spectre漏洞
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法