前端js实现在线预览pdf、word、xls、ppt等文件
昨天遇到一个需求,公司的视频项目都是视频类型,如果是文件类型就直接打开预览,或者下载查看
项目把请求的资源都作为视频资源处理,直接赋值给 video 标签解析。所以我新增了一个功能函数,方法很简单
文件预览原理:
通过 a 标签直接访问,如果是浏览器支持的文件,可以直接打开预览
加上 h5 的download
属性可以实现下载,而不预览。经本人测试,该属性在移动端没效果前端 iframe 加载资源
<iframe :src="previewUrl" width="100%" height="100%" border="0">
- pdf.js
使用方式谷歌搜索几个,本人没用到,就不错介绍了
实现方法
// res.data 请求返回的数据
let url = res.data.fileUrl // 判断文件类型是 可预览的文件资料
if(isReadingFile(res.data.fileType)) {window.open(url) // 原理和 a 标签打开链接一样
}
function isReadingFile(type) {return type == 1 // 与后端协商的判断字段
}
微信浏览器中使用遇到的坑
问题描述:
使用 window.open(url)
方法 本地开发可以预览,在局域网环境中,微信浏览器也可以预览访问。
打包上线后,微信开发者和手机微信浏览器访问预览功能都不生效
处理方法:
改为用 window.location.href=url
方法
可参考资料:https://juejin.im/post/5a7badf26fb9a063353198a1
前端js实现在线预览pdf、word、xls、ppt等文件相关推荐
- html js 在线预览 pdf word xls等
1.前端实现pdf文件在线预览功能 方式一.pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面.在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签href属性实现预览 <a ...
- js在线预览pdf,doc,xls,jpg等文件
由于项目需要,需要在上传文件后在线预览所上传的文件.最开始我的思路就是想到各种插件什么的.比如说pdf.js.pdfobject,但最后都没能达到我所想要的效果. 最后我发现,原来,只需要一个很简单的 ...
- 浏览器在线预览pdf、txt、office文件
//使用文件预览的原因是:TMD微信浏览器屏蔽掉文件下载链接,只好折中使用文件在线预览功能//要点:1.office文件用微软的插件打开http://view.officeapps.live.com/ ...
- springboot整合pdf.js实现在线预览pdf文件
今天在项目中实现pdf在线预览的功能的如图, 通过百度,查询合适的方法,最为简单的的是通过pdf.js的插件在前台展示.本以为是挺容易实现的,但都有莫名其妙的错误. 第一步:下载源码https://g ...
- 在线浏览pdf doc html,前端实现在线预览pdf、word、xls、ppt等文件
1.前端实现pdf文件在线预览功能 方式一: 通过a标签href属性实现 pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面.在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签hr ...
- html中在线预览pdf文件之pdf在线预览插件
html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...
- html做在线预览pdf文件,html中在线预览pdf文件之pdf在线预览插件
html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...
- html 在线预览pdf功能,html中在线预览pdf文件之pdf在线预览插件
html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件!javascript 翻来覆去找到两种办法 ,最后采用了jquery.media.js插 ...
- 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...
最新文章
- 盛会再临,2018中国大数据技术大会(BDTC)首曝日程及议题
- 深度强化学习入门到精通--资料综述
- http://www.myeclipseide.com/ 官网打不开的问题(转)
- 得到频域波形的坐标数组_10. 频域法之序
- 牛客练习赛 64——错排
- 背包——变向背包(hdu2546,1114,1203,2189)
- Protobuf编码指南
- ant.design pro 登录模块分析
- 锐捷交换机配置保存到计算机,锐捷交换机备份配置文件的操作方法
- Android高级计算器
- MATLAB 内积外积混合积
- python安装PIL模块
- 日常问题(bug)反馈/回复的标准格式
- 实验吧编程WP(一)
- 神级工具 PrimoCache v4.1(无限试用),电脑磁盘读写速度最高可提升70倍
- 精准DNA甲基化/羟甲基化测序(oxBS-seq)|易基因技术推介
- 神经网络之 CNN 与 RNN 再梳理
- 软件项目管理案例:假设50万的资金准备开设一间咖啡馆,请按照WBS原理将开设咖啡馆过程中所可能涉及的工作进行分解。
- 【C++要笑着学】关键字 | 命名空间 | 输入和输出
- us news计算机科学排名,2019US News世界大学计算机科学专业排名TOP50