当前位置:首页 > 房产信息

pdfjs pdf.js跨域加载文件

作者|张新华

制作|剧本屋(ID: JB51Net)

Pdf.js是一个基于Html的工具类。熟悉pdf.js的朋友都很清楚,pdf.js帮我们做了很多事情。特别是金融网站会产生很多报道。需要在线预览。Pdf.js绝对是我们的首选。

本地预览

我们可以直接在从官网下载的演示中预览。官网的案例列在view.html的网页文件夹下。这里我已经编译了一个pdf.js的简化版本

这些演示加载了本地文件。这里没什么好说的。demo2的效果如下。

代码也很简单:

Pdfjs为我们做了其他操作。我们只需要通过pdfjs将本地文件作为参数传递给viewer.html。

远程加载(跨域)

通过以上,我们可以在实际项目中轻松预览pdf。但是这个预告有个问题。在我们的分布式项目中,资源服务和业务服务通常不在同一个服务器上。此时,当我们预览文件时,我们跨域操作。当我遇到这个问题时,我想当然地认为上面的pdf被我们的远程pdf地址取代了。

首先,看看我们的远程文件是否正常

然后看看我们的代码修改是否正常

一切就绪后,我很高兴刷新demo2的页面并进行操作。但令人失望。报告错误

错误可能意味着找不到文件。为什么我们没有找到它是因为我们的文件是远程文件。Pdf.js跨域。我在网上找到了很多答案。有人说跨域操作放在web.xml配置中。无效测试。还有人说把请求头修改成跨域,但没说清楚。没实现。最后,我在viewer.html获得文件参数的原因是,我需要获得文件的文件流,以获得渲染viewer.html记忆的数据。于是我改变了主意。

既然获取了文件流,为什么一开始不直接传输文件流?基于这个想法。我开始实现获取远程地址的文件流。果然,我找到了办法。我们首先通过httpclient爬虫获取远程文件流。

public InputStream getYCFile(String urlPath) {InputStream inputStream = null;try {try {String strUrl = urlPath.trim;URL url=new URL(strUrl);//打开请求连接URLConnection connection = url.openConnection;HttpURLConnection httpURLConnection=(HttpURLConnection) connection;httpURLConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");// 取得输入流,并使用Reader读取inputStream = httpURLConnection.getInputStream;return inputStream;} catch (IOException e) {System.out.println(e.getMessage);inputStream = null;}} catch (Exception e) {System.out.println(e.getMessage);inputStream = null;}return inputStream;}

用这个方法,只要我们传递的地址正确,我就可以把远程文件的文件流返回给你。

基于这个方法,我们只需要在springmvc中前台请求到达后台获取文件流时调用这个方法。文件流通过响应返回到前台。

前台:

<iframe src="../test/js/pdfjs/web/viewer.html?file=<%=basePath%>source/http://192.168.1.184:8080/manage/spirng.pdf"width="100%" height="750"></iframe>

最后,我们来看看远程效果。是否可以预览远程的。好处无疑会减轻服务器的压力。

加入团队

提供的源代码:https://gitee.com/zxhGroup/bottom

个人网站:https://zxhtom.oschina.io/

个人微信官方账号:新华前端开发

文笔好?感激

龙按下扫描码表扬我

我感觉很好。请与你的朋友分享这篇文章

转载/提交,请联系:熊猫年

更精彩的是,点击菜单栏中的“文章”查看

● 8亿用户,左手社交,右手卖咖啡!网易云音乐的野心终于暴露了

●中国互联网公司亏损能力排行榜

小费

回到上一级搜索“Java女程序员大数据消息传递运维算法Chrome黑客PythonJava人工智能女友MySQL书。”

1.《pdfjs pdf.js跨域加载文件》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《pdfjs pdf.js跨域加载文件》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1078332.html

上一篇

中国国家代码 关于ISO3166《国家和所属地区名称代码》国际标准,这篇文章终于讲清楚了!

下一篇

蜜蜂蜂王图片 蜜蜂的简介、种类以及蜜蜂的分工和区别

pdf签名怎么弄 关于PDF签名,我们可以这样操作!

  • pdf签名怎么弄 关于PDF签名,我们可以这样操作!
  • pdf签名怎么弄 关于PDF签名,我们可以这样操作!
  • pdf签名怎么弄 关于PDF签名,我们可以这样操作!

图片文件格式 如何把图片转换成PDF文件格式?

  • 图片文件格式 如何把图片转换成PDF文件格式?
  • 图片文件格式 如何把图片转换成PDF文件格式?
  • 图片文件格式 如何把图片转换成PDF文件格式?

一键清理系统垃圾文件 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞

  • 一键清理系统垃圾文件 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞
  • 一键清理系统垃圾文件 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞
  • 一键清理系统垃圾文件 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞

一键清理系统垃圾 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞

  • 一键清理系统垃圾 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞
  • 一键清理系统垃圾 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞
  • 一键清理系统垃圾 利用批处理文件一键清除系统垃圾,让你的电脑告别卡慢健步如飞

如何制作pdf文件 PDF Expert 如何做PDF文件的拼接

  • 如何制作pdf文件 PDF Expert 如何做PDF文件的拼接
  • 如何制作pdf文件 PDF Expert 如何做PDF文件的拼接
  • 如何制作pdf文件 PDF Expert 如何做PDF文件的拼接

电子表格求和怎么操作 Excel表格中行列不用公式如何快速求和?

  • 电子表格求和怎么操作 Excel表格中行列不用公式如何快速求和?
  • 电子表格求和怎么操作 Excel表格中行列不用公式如何快速求和?
  • 电子表格求和怎么操作 Excel表格中行列不用公式如何快速求和?

excel文件打不开怎么办 为什么有的Excel文件无法打开?

  • excel文件打不开怎么办 为什么有的Excel文件无法打开?
  • excel文件打不开怎么办 为什么有的Excel文件无法打开?
  • excel文件打不开怎么办 为什么有的Excel文件无法打开?
classpath 读取ClassPath下resource文件的正确姿势

classpath 读取ClassPath下resource文件的正确姿势

前言为什么要写这篇文章?作为一个Java程序员,你有没有过每次需要读取ClassPath下的资源文件都要去百度一下,然后看到下面的回答:CopyThread.currentThread()。getContextClassLoader()。getResource(ss.properties)。...