昨天遇到一个需求,公司的视频项目都是视频类型,如果是文件类型就直接打开预览,或者下载查看
项目把请求的资源都作为视频资源处理,直接赋值给 video 标签解析。所以我新增了一个功能函数,方法很简单

文件预览原理:

  1. 通过 a 标签直接访问,如果是浏览器支持的文件,可以直接打开预览
    加上 h5 的 download 属性可以实现下载,而不预览。经本人测试,该属性在移动端没效果

  2. 前端 iframe 加载资源

<iframe :src="previewUrl" width="100%" height="100%" border="0">
  1. 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等文件相关推荐

  1. html js 在线预览 pdf word xls等

    1.前端实现pdf文件在线预览功能 方式一.pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面.在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签href属性实现预览 <a ...

  2. js在线预览pdf,doc,xls,jpg等文件

    由于项目需要,需要在上传文件后在线预览所上传的文件.最开始我的思路就是想到各种插件什么的.比如说pdf.js.pdfobject,但最后都没能达到我所想要的效果. 最后我发现,原来,只需要一个很简单的 ...

  3. 浏览器在线预览pdf、txt、office文件

    //使用文件预览的原因是:TMD微信浏览器屏蔽掉文件下载链接,只好折中使用文件在线预览功能//要点:1.office文件用微软的插件打开http://view.officeapps.live.com/ ...

  4. springboot整合pdf.js实现在线预览pdf文件

    今天在项目中实现pdf在线预览的功能的如图, 通过百度,查询合适的方法,最为简单的的是通过pdf.js的插件在前台展示.本以为是挺容易实现的,但都有莫名其妙的错误. 第一步:下载源码https://g ...

  5. 在线浏览pdf doc html,前端实现在线预览pdf、word、xls、ppt等文件

    1.前端实现pdf文件在线预览功能 方式一: 通过a标签href属性实现 pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面.在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签hr ...

  6. html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

  7. html做在线预览pdf文件,html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

  8. html 在线预览pdf功能,html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件!javascript 翻来覆去找到两种办法 ,最后采用了jquery.media.js插 ...

  9. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件

    前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...

最新文章

  1. JavaScript规范和工具 JSlint
  2. 数据结构---判断一棵树是否是二叉搜索树
  3. call,apply
  4. 基于Echarts+HTML5可视化数据大屏展示—大数据智慧数据平台
  5. Gambit学习2-曲面挖洞
  6. 湖南对口招生计算机专业试卷,湖南省2018年普通高等学校对口招生考试计算机应用类综合试卷 参考答案...
  7. 梅特勒托利多xk3124电子秤说明书_梅特勒电子秤校准(标定)步骤
  8. 开源电子海图和webGIS
  9. 20开头的HSCode总览
  10. 滴滴校招真题——末尾0的个数
  11. postgresql数据库中多个Schemas互相访问
  12. 通用企业智能制造ERP源码 制造业通用ERP系统源码 工厂ERP源码C# web ASP.NET 源码
  13. 使用 Learner Lab - 使用 AWS Lambda 将图片写入 S3
  14. 基于S32DS实现CAN、LIN基础结合芯片UJA1075的功耗模式切换设置(Standby、Normal、Sleep)
  15. esp32 参考引脚图
  16. 图像处理中的forward warping 和 inverse warping
  17. 引领云原生发展浪潮 阿里云开启云原生大规模落地元年
  18. C语言函数讲义,C语言讲义——指针函数和函数指针
  19. 【天华学术】文艺美学论文:《哈姆雷特》悲剧蕴含的审美价值(节选)
  20. python 求素数

热门文章

  1. 2015年第12本(英文第8本):the Old Man and the Sea 老人与海
  2. sqlserver调用mysql存储过程_sqlserver里存储过程怎么调用存储过程
  3. 名帖65 欧阳询 楷书《虞恭公碑》
  4. 微商行业营销渠道有哪些?
  5. 计算机简历专业实践,计算机专业优秀实习报告
  6. php数字两位小数_PHP保留两位小数
  7. 如何看java进程端口_查看一个进程对应的端口号
  8. win7计算机睡眠后无法唤醒,WIN7进入睡眠状态后无法唤醒-win7唤醒睡眠模式,win7不能唤醒睡眠模式...
  9. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Workshop on Machine Translation (WMT)
  10. Illustrator 教程:如何在 Illustrator 中描摹对象?