Vue项目中,利用iframe在线预览pdf/图片等

embedded/2024/10/18 9:23:48/

在components下新建 src\components\iFrame\index.vue

javascript"><template><div v-loading="loading" :style="'height:' + height"><iframe :src="src" frameborder="no" style="width: 100%; height: 100%" scrolling="auto" /></div>
</template>
<script>
export default {props: {src: {type: String,required: true},},data() {return {height: document.documentElement.clientHeight - 94.5 + "px;",loading: true,url: this.src};},mounted: function () {setTimeout(() => {this.loading = false;}, 300);const that = this;window.onresize = function temp() {that.height = document.documentElement.clientHeight - 94.5 + "px;";};}
};
</script>

在components下新建 src/components/FilePreview/index.vue

javascript"><template><el-dialog :title="title" :visible.sync="visible" @close="visible = false" :width="width" append-to-body v-dialogDrag :close-on-click-modal="false"><div :style="[{height:`${height}px`}]" class="styleObj"><template><i-frame :src="url" /></template></div></el-dialog>
</template><script>
import iFrame from "@/components/iFrame/index";
export default {props: {//宽width: {type: String,default: '60%',},//高height: {type: Number,default: 500,},//标题title: {type: String,default: '文件预览',}},name: "FilePreview",components: { iFrame },data() {return {visible: false,url: ''};},methods: {preview(fileUrl) {if (fileUrl) {this.url = fileUrl;this.visible = true} else {this.$modal.msgError("文件不存在!");}},}
};
</script><style scoped>
.styleObj {overflow: auto;
}
</style>

在组件中引用

javascript"><template><div><!-- 其余代码省略 --><FileViewer ref="FileViewer" :width="`80%`" :height="700"/></div>
</template><script>
import FileViewer from "@/components/FilePreview"
export default {components: { FileViewer },data() {return {},},mounted(){let url = "文件路径";this.$refs.FileViewer.preview(url);}
}
</script>

效果如下


http://www.ppmy.cn/embedded/48584.html

相关文章

江苏哪些行业需要服务器托管?

服务器托管顾名思义就是用户委托具有完善设备的机房、良好网络和丰富运营经验的服务商管理其计算机系统&#xff0c;使企业的服务器能够更加安全、稳定和高效的运行&#xff0c;那在江苏都有哪些行业需要服务器托管服务呢&#xff1f;本文就来大概介绍一下。 首先让我们来一起了…

u盘数据要在哪台电脑上恢复?u盘数据恢复后保存在哪里

在数字化时代&#xff0c;U盘已成为我们日常生活中不可或缺的数据存储设备。然而&#xff0c;由于各种原因&#xff0c;U盘中的数据可能会意外丢失&#xff0c;这时数据恢复就显得尤为重要。但是&#xff0c;很多人对于在哪台电脑上进行U盘数据恢复以及恢复后的数据应保存在哪里…

Pod中使用自定义服务账号调用自定义资源

一、背景 1、从开发角度 &#xff08;1&#xff09;服务通过容器化部署的方式运行在云环境的Pod中&#xff0c;然而在 Kubernetes 中&#xff0c;Pod 中的服务不能直接通过 client-go 访问 Kubernetes 资源&#xff0c;而是需要通过 Kubernetes API Server 来进行访问。clien…

数据结构——队列(Queue)详解

1.队列&#xff08;Queue&#xff09; 1.1概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFO(First In First Out)的性质 入队列&#xff1a;进行插入操作的一端称为队尾(Tail/Rear) 出…

SQL 窗口函数

1.窗口函数之排序函数 RANK, DENSE_RANK, ROW_NUMBER RANK函数 计算排序时,如果存在相同位次的记录,则会跳过之后的位次 有 3 条记录排在第 1 位时: 1 位、1 位、1 位、4 位…DENSE_RANK函数 同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次 有 3 条记录排在…

Prometheus+Grafana监控MySQL

一、准备 grafana服务器&#xff1a;192.168.48.136Prometheus服务器&#xff1a;192.168.48.136被监控服务器&#xff1a;192.168.48.134、192.168.48.135查看时间是否同步 二、安装prometheus server 【2.1】安装 # 解压安装包 tar -zxvf prometheus-2.52.0.linux-amd64.t…

数据结构--第八章--图

一、图 邻接矩阵缺点&#xff1a;浪费空间&#xff0c;浪费时间 二、生成树和最小生成树 普里姆算法—prim 生成树不唯一&#xff0c;权值最小的树称为最小生成树 任何一个带权无向连通图的最小生成树有可能不唯一 2.克鲁斯卡尔算法—Kruskal 稠密图G的最小生成树—prim算法…

Leetcode498. 对角线遍历

Every day a Leetcode 题目来源&#xff1a;498. 对角线遍历 解法1&#xff1a;模拟 根据题目要求&#xff0c;矩阵按照对角线进行遍历。设矩阵的行数为 m&#xff0c;矩阵的列数为 n&#xff0c;我们仔细观察对角线遍历的规律可以得到如下信息&#xff1a; 一共有 mn−1 条…