前端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文本.公 ...
最新文章
- JavaScript规范和工具 JSlint
- 数据结构---判断一棵树是否是二叉搜索树
- call,apply
- 基于Echarts+HTML5可视化数据大屏展示—大数据智慧数据平台
- Gambit学习2-曲面挖洞
- 湖南对口招生计算机专业试卷,湖南省2018年普通高等学校对口招生考试计算机应用类综合试卷 参考答案...
- 梅特勒托利多xk3124电子秤说明书_梅特勒电子秤校准(标定)步骤
- 开源电子海图和webGIS
- 20开头的HSCode总览
- 滴滴校招真题——末尾0的个数
- postgresql数据库中多个Schemas互相访问
- 通用企业智能制造ERP源码 制造业通用ERP系统源码 工厂ERP源码C# web ASP.NET 源码
- 使用 Learner Lab - 使用 AWS Lambda 将图片写入 S3
- 基于S32DS实现CAN、LIN基础结合芯片UJA1075的功耗模式切换设置(Standby、Normal、Sleep)
- esp32 参考引脚图
- 图像处理中的forward warping 和 inverse warping
- 引领云原生发展浪潮 阿里云开启云原生大规模落地元年
- C语言函数讲义,C语言讲义——指针函数和函数指针
- 【天华学术】文艺美学论文:《哈姆雷特》悲剧蕴含的审美价值(节选)
- python 求素数
热门文章
- 2015年第12本(英文第8本):the Old Man and the Sea 老人与海
- sqlserver调用mysql存储过程_sqlserver里存储过程怎么调用存储过程
- 名帖65 欧阳询 楷书《虞恭公碑》
- 微商行业营销渠道有哪些?
- 计算机简历专业实践,计算机专业优秀实习报告
- php数字两位小数_PHP保留两位小数
- 如何看java进程端口_查看一个进程对应的端口号
- win7计算机睡眠后无法唤醒,WIN7进入睡眠状态后无法唤醒-win7唤醒睡眠模式,win7不能唤醒睡眠模式...
- 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Workshop on Machine Translation (WMT)
- Illustrator 教程:如何在 Illustrator 中描摹对象?