Vue通过微软官方链接预览pptx docx xlsx

目录:

        一、实现步骤

        二、实现效果

代码真实可用!

一、实现步骤:

1、使用的是vue和elementUI,

假设有这些变量:attachment是附件的意思

  1. data() {
  2. return {
  3. previewDialog: false,
  4. attachmentSrc: '',
  5. attachmentList: [{
  6. name: 'example1.docx',
  7. path: 'https://vfdgfdsgdfsgfg/attachment/example1.docx'
  8. },
  9. {
  10. name: 'example2.pdf',
  11. path: 'https://vfdgfdsgdfsgfg/attachment/example2.pdf'
  12. },
  13. {
  14. name: 'example3.txt',
  15. path: 'https://vfdgfdsgdfsgfg/attachment/example3.txt'
  16. },
  17. {
  18. name: 'example4.xlsx',
  19. path: 'https://vfdgfdsgdfsgfg/attachment/example4.xlsx'
  20. }]
  21. }
  22. }

2、页面代码:

主要是用 iframe 组件,src地址即为要展示的文件地址

  1. <!-- 这段代码是界面显示 -->
  2. <div v-for="attachment in attachmentList">
  3. <el-link :key="attachment.path" :href="attachment.path"
  4. style="display: inline-block;" type="success" :underline="false">
  5. {{ attachment.name }}
  6. </el-link>
  7. <el-button type="text" style="display:inline-block;margin-left:30px;"
  8. icon="el-icon-view" v-on:click="previewFile(attachment)">
  9. 预览</el-button>
  10. </div>
  11. <!-- 点击上面的预览按钮会弹出文件预览框 -->
  12. <el-dialog :close-on-click-modal="true" title="文件预览" type="primary"
  13. :visible.sync="previewDialog" width="80%" left>
  14. <iframe :src="attachmentSrc" frameborder="0" width="100%" height="600"></iframe>
  15. <div slot="footer" class="dialog-footer">
  16. <el-button type="primary" v-on:click="previewDialog = false">关闭</el-button>
  17. </div>
  18. </el-dialog>

3、methods中的函数:

word、xls、ppt这些文件要用 微软官方的预览地址

注意:1. 文件地址必须公网;2. 静态资源不要有访问权限

最后,你控制的只是src地址

微软解析地址:https://view.officeapps.live.com/op/view.aspx?src=你的文件地址

  1. methods: {
  2. // 预览文件
  3. previewFile(attachment) {// 根据文件格式显示预览内容
  4. const fileExtension = attachment.path.split('.').pop().toLowerCase()
  5. if (fileExtension === 'xlsx' || fileExtension === 'docx') {
  6. this.attachmentSrc = 'https://view.officeapps.live.com/op/view.aspx?src=' + attachment.path
  7. }else{
  8. this.attachmentSrc = attachment.path
  9. }
  10. this.previewDialog = true
  11. }
  12. }



二、实现效果:

操作界面:

word文件预览:

Excel文件预览;

PDF文件预览:

 TXT文件预览:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/27174.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【无标题】visual studio2019+Qt5.15.2+PCL1.12.1+vtk9.1.0+cmake3.22.2

安装VS------安装Qt-------安装PCL------安装cmake-----安装VTK-----环境配置 安装用了两天时间 1环境搭建 1.1 Visual Studio 2019 (PCL所需版本) https://my.visualstudio.com/Downloads?qvisual%20studio%202019&wt.mc_idomsftvscom~older-downloads 1.2 Qt安装 …

远程访问本地jupyter notebook服务 - 无公网IP端口映射

文章目录 前言1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook&#xff0c;它是一个交互式的数据科学和计算环境&#xff0c;支持多种编程语言&#xff0c;如…

所有语言数据类型大汇总(持续更新)

一 c语言 参考 C语言-整数&#xff1a;short、int、long、long long&#xff08;signed和unsigned&#xff09;、原码、反码、补码_c语言signed是什么类型_Talent Q的博客-CSDN博客https://blog.csdn.net/qq_43177371/article/details/105703234 二 system verilog

rust

文章目录 rustCargoCreating a rust project How to Debug Rust Programs using VSCodebasic debuggingHow to pass arguments in Rust debugging with VS Code. References rust Cargo Cargo is a package management tool used for downloading, compiling, updating, and …

Waves 14 Complete对Mac和Windows系统的最低要求

Waves 14 Complete是一款功能齐全的音频编辑软件&#xff0c;适用于音乐制作、音频工程和声音设计等领域。它提供了一系列强大的工具和效果&#xff0c;帮助用户在音频处理过程中实现专业水平的效果和混音。 Waves 14 Complete包含了多个实用的插件&#xff0c;如均衡器、压缩…

设计模式-建造者模式

盖房项目需求&#xff1a; 需要建房子&#xff1a;这一过程为打桩、砌墙、封顶。房子有各种各样的&#xff0c;比如普通房&#xff0c;高楼&#xff0c;别墅&#xff0c;各种房子的过程虽然一样&#xff0c;但是要求不要相同的。 请编写程序&#xff0c;完成需求。 一、传统…

复习单例模式

单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个…

了解 JVM - 认识垃圾回收机制与类加载过程

前言 本篇通过介绍JVM是什么&#xff0c;认识JVM的内存区域的划分&#xff0c;了解类加载过程&#xff0c;JVM中垃圾回收机制&#xff0c;从中了解到垃圾回收机制中如何找到存活对象的方式&#xff0c;引用计数与可达性分析的方式&#xff0c;再释放垃圾对象时使用的方式&…

最小二乘拟合平面——拉格朗日乘子法

目录 一、算法原理二、代码实现1、python2、matlab 三、算法效果 一、算法原理 设拟合出的平面方程为&#xff1a; a x b y c z d 0 (1) axbyczd0\tag{1} axbyczd0(1) 约束条件为&#xff1a; a 2 b 2 c 2 1 (2) a^2b^2c^21\tag{2} a2b2c21(2)   可以得到平面参数 a…

【Django学习】(十四)自定义action_router

之前我们的视图类可以继承GenericViewSet或者ModelViewSet&#xff0c;我们不用再自定义通用的action方法&#xff0c;但是有时候我们需要自定义action&#xff0c;我们该如何设计呢&#xff1f; 自定义action 1、手写视图逻辑 1.1、先在视图集里自定义action方法&#xff0…

4、深入理解ribbon

一、负载均衡的两种方式 服务器端负载均衡 传统的方式前端发送请求会到我们的的nginx上去&#xff0c;nginx作为反向代理&#xff0c;然后路由给后端的服务器&#xff0c;由于负载均衡算法是nginx提供的&#xff0c;而nginx是部署到服务器端的&#xff0c;所以这种方式又被称为…

ETLBox for .Net Crack

ETLBox for .Net Crack 为设计的轻量级ETL(提取转换负载)工具箱和数据集成库。NET。 ETL是现代商业智能应用程序的基础&#xff0c;是将分析与之前的所有其他组件分离的唯一方法。ETL是提取-加载、转换和转换的缩写&#xff0c;描述了一个由三个步骤组成的过程&#xff1a; 提取…