昨天遇到一个需求,公司的视频项目都是视频类型,如果是文件类型就直接打开预览,或者下载查看
项目把请求的资源都作为视频资源处理,直接赋值给 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. 盛会再临,2018中国大数据技术大会(BDTC)首曝日程及议题
  2. 深度强化学习入门到精通--资料综述
  3. http://www.myeclipseide.com/ 官网打不开的问题(转)
  4. 得到频域波形的坐标数组_10. 频域法之序
  5. 牛客练习赛 64——错排
  6. 背包——变向背包(hdu2546,1114,1203,2189)
  7. Protobuf编码指南
  8. ant.design pro 登录模块分析
  9. 锐捷交换机配置保存到计算机,锐捷交换机备份配置文件的操作方法
  10. Android高级计算器
  11. MATLAB 内积外积混合积
  12. python安装PIL模块
  13. 日常问题(bug)反馈/回复的标准格式
  14. 实验吧编程WP(一)
  15. 神级工具 PrimoCache v4.1(无限试用),电脑磁盘读写速度最高可提升70倍
  16. 精准DNA甲基化/羟甲基化测序(oxBS-seq)|易基因技术推介
  17. 神经网络之 CNN 与 RNN 再梳理
  18. 软件项目管理案例:假设50万的资金准备开设一间咖啡馆,请按照WBS原理将开设咖啡馆过程中所可能涉及的工作进行分解。
  19. 【C++要笑着学】关键字 | 命名空间 | 输入和输出
  20. us news计算机科学排名,2019US News世界大学计算机科学专业排名TOP50

热门文章

  1. 07. 实战:Python正则法抓取某网站2022必看片迅雷种子
  2. 钉钉存在服务器上的文件如何删除,钉钉怎么删除群文件 看完你就学会了
  3. 洁净工程施工建设洁净室工程
  4. 黑马程序员——字符编码以及字符联通
  5. ceph集群运维记录
  6. 高校邦python程序设计基础_2020高校邦【慧学杯】Python程序设计基础【实境编程】(2020秋)作业答案...
  7. java数组如何赋值_java数组如何赋值
  8. shuf 按行打乱文本命令
  9. ucos系统中串口驱动
  10. CSS不规则图形画法(clip-path)