实现功能

知识库系统中存在一个附件就是一个知识,当全文搜索到这个附件知识的时候需要能在线查看这个知识也就是附件里的文章内容。(如果不是pdf格式的文档,我们这边是先将不同格式的附件转成PDF格式)

实现代码

本项目中我在jsp页面中用了embed 标签

<embed :src="file/open.action" type="application/pdf" width="100%" height="100%">

标签里src的file/open.action里面主要是读写附件文件的IO流的一个action。直接上代码:

package com.ssm.controlle;import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;/*** @author chenjida* @create 2019-09-05*/@Controller
@RequestMapping("/file")
public class FileController {@RequestMapping("/openAttach")@ResponseBodypublic void openAttach(HttpServletResponse response) {FileInputStream fIn = null;OutputStream out = null;try {response.addHeader("Content-Disposition","filename=\"" + new String("D:\\7c8f4802-a6aa-4517-b7db-a752987fcf6c.pdf".getBytes("gb2312"), "ISO8859-1") + "\"");response.setHeader("Content-Type", "application/pdf");File file = new File("D:\\7c8f4802-a6aa-4517-b7db-a752987fcf6c.pdf");if(!file.exists()){return;}// 读取下载文件fIn = new FileInputStream(file);// 输出流out = response.getOutputStream();// 缓冲区byte[] buffer = new byte[1024];int len = 0;while ((len = fIn.read(buffer, 0, buffer.length)) != -1) {out.write(buffer, 0, len);}out.flush();} catch (IOException ioe) {ioe.printStackTrace();} finally {IOUtils.closeQuietly(fIn);IOUtils.closeQuietly(out);}}
}

实现效果

jsp页面在线显示pdf文件相关推荐

  1. ASP.NET 用 FlexPaper 在页面上显示 PDF 文件

    必要条件 演示 ASP.NET 用 FlexPaper 在页面上显示 PDF 文件 软件环境 解决方案结构 简单显示 SWF 文件 上传并显示 PDF 文件 常见问题 参考资料 其实,虽说是显示 PD ...

  2. jspdf插件实现jsp页面导出为pdf文件

    最近在公司里实习作项目,项目中有一个优化需求,就是将指定的jsp页面导出为pdf文件输出.因为之前从未了解过相关方面只知识,所以在查了一番资料后,发现大家写的都很散,不是很清楚,甚至有的代码执行不出来 ...

  3. 微信或手机浏览器在线显示pdf文件

    问题及解决 在之前的文章中提到了如何在手机上显示office文件,这里提一下pdf文件如何在手机上展示.问题发生情况是,公司企业号会从OA系统定时获取信息,并且解析内网文章中的图片.文件,展示在微信中 ...

  4. 利用pdfjs在线显示pdf文件

    1.下载pdf.js插件:https://gitee.com/liuhaipeng1130/pdfjs 2.创建Vue项目 将下载好的pdf.js插件放在static文下 3.新建一个pdf页面 用' ...

  5. 在html页面中展示pdf文件,实现在线阅读

    参考文章:1.http://blog.csdn.net/broze/article/details/6743314            2.http://www.pdfobject.com/    ...

  6. html如何跳转到pdf页面,使用PDF.js在网页显示pdf文件并跳转到指定页码

    最近在做一个土地档案管理系统 ,有个需求是在前端网页展示土地档案扫描件的pdf文件,并根据目录跳转到指定页. 第一个问题,显示pdf文件.引入pdf.js.然后设定html地址,地址为http://l ...

  7. html在线浏览pdf文件

    最近在做一个项目,其中涉及到pdf文件,于是就想试着在线加载pdf文件,经过我的不懈努力,终于让我解决了这个问题 解决这个问题总共有两种方式 方式一. 将pdf转为图片保存,然后再把图片的地址发到页面 ...

  8. 微信公众号或者浏览器实现在线浏览pdf文件

    微信公众号或者浏览器实现在线浏览pdf文件 实现在线浏览pdf文件方法 开发步骤: 实现在线浏览pdf文件方法 我们在日常的开发当中经常需要实现pdf文件的显示,最近做了一个在微信公众号中实现pdf浏 ...

  9. java错误页面显示错误信息_Struts2在JSP页面中显示错误信息和提示信息的方法

    Struts2在JSP页面中显示错误信息和提示信息的方法主要有以下四种. 注意:以下四种方法均需要使Action类继承ActionSupport类. 一.域级错误信息 ①重写Action中的valid ...

最新文章

  1. 汇编中的LABEL详解
  2. 用C语言实现有限状态自动机FSM
  3. 【数据结构与算法】之深入解析“石子游戏IX”的求解思路与算法示例
  4. [2017BUAA软工]结对项目:数独扩展
  5. 谷爱凌惊“险”一跳,最少价值10个亿!
  6. JavaScript面向对象之构造函数
  7. Linux DRM 理解
  8. SQL server无法打开项 UNKNOWN\Components\929B2416EC4102B48A989956983ACF45\1F7B2B09C788E7644A0F08CA9C1D解决办法
  9. php如何除去图片水印,Phpcms v9如何去掉自带水印的解决方法
  10. Oracle LiveLabs实验:Application Continuity Fundamentals
  11. 2021西湖论剑 Re wp
  12. Spring懒加载机制原理和配置讲解
  13. 中学-知识与能力【6】
  14. table行的折叠和展开
  15. 如何设置微信公众号的测试号的菜单
  16. route和bridge是什么意思_vue-router中router和route的区别
  17. Internet网际协议---IPv4协议
  18. 天玑机器人颈椎_第三代国产骨科手术机器人“天玑”在安徽“首秀”
  19. 求职_第1篇 程序设计基础及数据机构基础_第1章 数组
  20. 一文掌握SOP知识精华及编写步骤方法

热门文章

  1. Python调试工具pdb使用详解
  2. 计算机管理主分区改成逻辑分区,如何在Win7系统中将主分区更改为逻辑分区?...
  3. php只能小程序访问,百度智能小程序支付 - 冯奎博客 — 再牛逼的梦想,也抵不住你傻逼似的坚持。 — Fengkui Blog...
  4. Data Binding Library
  5. python time库3.8_time --- 时间的访问和转换 — Python 3.8.1 文档
  6. 新业务布局教育,中国奥园能否顺利破圈?
  7. Spring注解(包含SpringBoot)
  8. java eden s0 s1_不是吧!做了两年java还没弄懂JVM堆?进来看看你就明白了
  9. 帮助理解Java中ThreadLocal的一篇文章
  10. 当青训营遇上码上掘金之主题四-攒青豆