当前位置: 首页 > news >正文

vue 文件预览mp4、txt、pptx、xls、xlsx、docx、pdf、html、xml

vue 文件预览 图片、mp4、txt、pptx、xls、xlsx、docx、pdf、html、xml

最近公司要做一个类似电脑文件夹的功能,支持文件夹操作,文件操作,这里就不说文件夹操作了,说说文件预览操作,本人是后端java开发,前端vue,目前没有人,就也由我来写,直接上代码(我的文件是上传到OSS上的,预览远程文件的话需要配置好跨域)

图片就简单了,直接打开新的窗口

window.open(url,'_blank')

视频也是一样的,直接打开新的窗口

window.open(url,'_blank')

docx

这里使用的是vue-office组件,先安装依赖----------------------------------------#docx文档预览组件
npm install @vue-office/docx vue-demi@0.14.6
--------------------------------------------------------
页面中引入组件
//引入VueOfficeDocx组件
import VueOfficeDocx from '@vue-office/docx'
//引入相关样式
import '@vue-office/docx/lib/index.css'<script>export default {components:{VueOfficeDocx},
</script>
<template><vue-office-docxclass="show_office":src="docxUrl"style="height: 90vh;"/></template>

excel

这里使用的是vue-office组件,先安装依赖----------------------------------------#excel文档预览组件
npm install @vue-office/excel vue-demi@0.14.6--------------------------------------------------------
页面中引入组件//引入VueOfficeExcel组件
import VueOfficeExcel from '@vue-office/excel'
//引入相关样式
import '@vue-office/excel/lib/index.css'<script>
export default {components:{VueOfficeExcel},
</script><template><vue-office-excelclass="show_office":src="excelUrl"style="height: 90vh;"/>
</template>

pdf

这里使用的是vue-office组件,先安装依赖---------------------------------------#pdf文档预览组件
npm install @vue-office/pdf vue-demi@0.14.6
--------------------------------------------------------
页面中引入组件//引入VueOfficePdf组件
import VueOfficePdf from '@vue-office/pdf'<script>
export default {components:{VueOfficePdf},</script></template><vue-office-pdfclass="show_office":src="pdfUrl"style="height: 90vh;"/>      
</template>             

txt、html

<divstyle="width:100%;height: 90vh;"v-html="txtUrl"/>axios.get(url, { responseType: 'text' }).then(response => {// 根据设置的编码进行处理,这里假定utf-8this.txtUrl = response.data;})

xml

axios.get(url, { responseType: 'text' }).then(response => {const parser = new DOMParser();const xmlDoc = parser.parseFromString(response.data, 'text/xml');this.parsedXML = new XMLSerializer().serializeToString(xmlDoc.documentElement);})<pre style="width:100%;height: 90vh;"><code>{{ parsedXML }}</code></pre>

pptx

这里使用的是PPTXjs
1.下载好的PPTXjs放到public目录下
在这里插入图片描述
2.修改PPYXjs的index.hhtml,获取实际文件地址
在这里插入图片描述
3 通过拼接地址,请求PPYXjs实现预览操作
在这里插入图片描述

链接: https://blog.csdn.net/IAIPython/article/details/137677707
链接: https://github.com/501351981/vue-office

http://www.lryc.cn/news/365453.html

相关文章:

  • 生活中优秀学习习惯
  • 什么是负载均衡?在网络中如何实现?
  • 【YOLOv10改进[Backbone]】图像修复网络AirNet助力YOLOv10目标检测效果 + 含全部代码和详细修改方式 + 手撕结构图 + 全网首发
  • ubuntu22.04 gitleb服务器满了,扩容机器的磁盘的详细步骤
  • kafka-集群-主题创建
  • Python 连接 MySQL 及 SQL增删改查(主要使用sqlalchemy)
  • JAVAEE值网络编程(2)_TCP流套接字及通信模型、TCP网络编程及代码实例
  • 【MMU】——MMU 页命中/缺页
  • Win32和c++11多线程
  • 关于python包导入问题的重思考
  • 攻防世界---misc---津门杯2021-m1
  • 【计算机视觉(8)】
  • Linux操作系统:Redis在虚拟环境下的安装与部署
  • 哈希表和二维矩阵的结合-2352. 相等行列对(新思路、新解法)
  • 深度学习中无监督学习
  • JVM基础知识
  • 618网购节,电商能挡住恶意网络爬虫的攻击吗?
  • Codeforces Round 951 (Div. 2) C、D(构造、线段树)
  • elmentUI el-table 总结行
  • 【大数据】计算引擎:Spark核心概念
  • Python | C# | MATLAB 库卡机器人微分运动学 | 欧拉-拉格朗日动力学 | 混合动力控制
  • Signac|成年小鼠大脑 单细胞ATAC分析(1)
  • 【POSIX】运行时so库动态加载
  • 爱普生SG2520CAA汽车电子中控专用晶振
  • Vue——监听器简单使用与注意事项
  • OpenCV的“画笔”功能
  • uniapp封装picker选择器组件,支持关键字查询
  • 智慧城市的规划与实施:科技引领城市运行效率新飞跃
  • Linux——内存管理代码分析
  • 手机自动化测试:4.通过appium inspector 获取相关app的信息,以某团为例,点击,搜索,获取数据等。