iframe 在线预览pdf、word、excel、ppt、txt、图片、视频
第一种方式通过 iframe 在线预览 pdf,word,excel,ppt,txt,图片,视频
<template>
<el-button @click="openHandler">预览</el-button>
<el-dialog @close="closeHandler" v-model="maskObj.flag" title="预览">
<iframe sandbox="allow-scripts allow-top-navigation allow-same-origin allow-popups"
:src="maskObj.url"
frameborder="0"
style=" z-index: 1000;height:560px;width:100%">
</iframe>
</el-dialog>
</template>
<script lang="ts" setup>
import {shallowReactive } from 'vue'
let maskObj = shallowReactive({
flag: false,
url:''
})
const openHandler = () => {
maskObj.url = '', //你的地址
maskObj.flag = true;
// 在预览的时候,可以判断一个文件的类型,不符合要求的类型不支持预览。
// 在预览视频的时候,关闭弹窗的时候也应该把视频的值清空。否者视频会一直播放的
}
const closeHandler = () => {
maskObj.url =''//清空值
maskObj.flag = false;
}
</script>
预览word

预览视频

通过插件预览
如果通过插件预览就需要安装对应的插件。
vue-pdf 可以实现对pdf的预览。
vue-pdf预览pdf
<template>
<el-dialog title="预览" :visible.sync="viewVisible" width="100%" height="100%" :before-close='closeDialog'>
<div class="pdf" v-show="fileType === 'pdf'">
<pdf :src="pdfsrc"></pdf>
</div>
</el-dialog>
</template>
<script>
// 引入刚才下载的 pdf
import pdf from 'vue-pdf'
export default {
components: {
pdf
},
data() {
yuming: "你的url", //
viewVisible: false, // 弹框隐藏
fileType: 'pdf', // 文件类型
pdfsrc: '', // 文件地址
},
created() {
// 有时PDF文件地址会出现跨域的情况,最好先处理一下
this.pdfsrc = pdf.createLoadingTask(this.pdfsrc)
},
methods: {
handleEdit(index, row) {
//console.log(row.wjYsmc)
if (!/\.(pdf|PDF)$/.test(row.wjYsmc)) {
window.open(
"https://view.officeapps.live.com/op/view.aspx?src=" + this.yuming + "/anli?id=" + row.id,
"_blank"
);
return false;
} else {
let url = this.yuming + "/anli?id=" + row.id
this.viewVisible = true
this.pdfsrc = url
}
},
closeDialog(done) {
done();
},
}
}
</script>
个人认为
目前来说,通过iframe来预览的形式会更加好一些。
在 iframe预览视频的时候,关闭弹窗的时候也应该把视频的值清空。否者视频会一直播放的
插件预览的缺点
插件预览只能够预览一种类型。而不能够预览多种类型的资源。
在预览的时候,最好是需要判断一下。符合条件的类型才能够进行预览。
iframe 在线预览pdf、word、excel、ppt、txt、图片、视频的更多相关文章
- 前端实现在线预览pdf、word、xls、ppt等文件
最近在做一个公司的资源管理系统,一些知识小记一下. 1.前端实现pdf文件在线预览功能 方式一.pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面.在仅仅是预览pdf文件且UI要求不高的情况下 ...
- 前端实现在线预览pdf、docx、xls、ppt等文件
思路:前台将各种格式的附件上传到服务器----后台通过方法将这些格式的文件转化成图片,前台通过放映ppt的方式将其展示在页面上. 关键点:reveal.js 参考文章:https://www.awes ...
- .net mvc使用FlexPaper插件实现在线预览PDF,EXCEL,WORD的方法
FlexPaper插件可以实现在浏览器中在线预览pdf,word,excel等. 在网上看到很多关于这个插件实现预览的技术,但是很难做到word和excel在线预览. pdf很好实现. 首先下载相关的 ...
- pc或者微信上用pdf.js在线预览pdf和word
最近项目要求pdf和word可以在线预览功能,pc端还好解决,但是微信端就有点坑了,pc端原来的思路是将文件转成base64,然后用html格式显示 ,但是微信端不支持, 这种方式就pass掉了,谷歌 ...
- 网页中动态嵌入PDF文件/在线预览PDF内容https://www.cnblogs.com/xgyy/p/6119459.html
#网页中动态嵌入PDF文件/在线预览PDF内容# 摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如 ...
- #网页中动态嵌入PDF文件/在线预览PDF内容#
摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...
- 网页嵌入pdf、在线预览pdf工具及插件(转)
摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...
- 使用pdfjs插件在线预览PDF文件
前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...
- FlexPaper+SWFTool+操作类=在线预览PDF
引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf转换为swf格式的文件预览的,所以flexpaper一般和swf ...
- 在线预览PDF
FlexPaper+SWFTool+操作类=在线预览PDF 引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf ...
随机推荐
- 详解GaussDB(DWS)的CPU资源隔离管控能力
摘要:GaussDB使用cgroup实现了两种cpu管控能力,基于cpu.shares的共享配额管控和基于cpuset的专属限额管控. 本文分享自华为云社区<GaussDB(DWS)的CPU资源 ...
- 一文了解如何使用移动应用安全组件Soot和Flowdroid
摘要:移动应用安全检测,soot.flowdroid分别作为静态分析.污点分析主要工具,能我们能够快速高效的进行检测分析.本文主要介绍两个工具的基本操作及相应的使用场景 本文分享自华为云社区<移 ...
- 火山引擎DataTester上线「集成工作台」功能,助力企业打造专属AB平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 AB测试不仅是做增长的"利器",也是企业优化效率.增加决策精确度的有效工具.随着国内企业服务市 ...
- 火山引擎 DataTester:在广告投放场景下的 A/B 实验实践
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 "我知道在广告上的投资有一半是无用的,但问题是我不知道是哪一半." --零售大亨约翰·沃纳梅克 ...
- Java 网络编程 —— 基于 UDP 的数据报和套接字
UDP 简介 UDP(User Datagram Protocol,用户数据报协议)是传输层的另一种协议,比 TCP 具有更快的传输速度,但是不可靠.UDP 发送的数据单元被称为 UDP 数据报,当网 ...
- 基于分发与计算的GRTN全球实时传输网络
一张能同时满足「分发」与「计算」需求的网. 从直播趋势看「分发」与「计算」 阿里云直播产品架构图中,主要分为端和云两个部分:在端侧,主要包含推流端和播放端:在云侧,一是基于分布式节点构建的传输网,二是 ...
- 解决Github中使用Octotree时,出现 Error: API limit exceeded 报错 或者 Error: Connection error报错的问题(详细操作)
对于科研工作者来说,Github 是不可多得的利器,那么Octotree 插件的使用将会让用户在使用 Github 时拥有更好的体验,提高学习工作的效率.但是笔者在使用的过程中遇到以下这样的问题,下面 ...
- Educational Codeforces Round 108 (Rated for Div. 2) (A思维,Bmath,C前缀和,D枚举)
1519A. Red and Blue Beans 问题简述 给定 \(r\) 个红豆,\(b\) 个蓝豆,差值 \(d\) ,要求我们进行为红蓝豆分组,使得红豆和蓝豆绝对值差值不大于 \(d\) , ...
- PVE API创建虚拟机
度娘,谷歌都搜了一圈没有找到通过PVE API创建虚拟机的方式, 于是查官网自己试了试,部分代码抄的Sam Liu大佬的作业,感谢大佬. python代码如下: import requests # s ...
- es报错记录
ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsear ...