使用vue实现pdf预览功能的方法
更新时间:2023年08月09日 09:49:42 作者:weixin_49203377
许多朋友想要材料上传之后点击预览实现在浏览器上预览的效果,所以本文将给大家介绍如何使用vue实现pdf预览功能,文中有实现代码,有需要的朋友可以参考阅读下
背景:材料上传之后点击预览实现在浏览器上预览的效果
效果如下:
实现代码如下://预览和下载操作
<el-table-column fixed="right" label="操作" width="210"> <template #default="scope"> <span @click="handleRowClick(scope.row)" class="table-btn btn-handle" ><i class="ri-eye-line"></i>预览</span > <span @click="handleDownLoadClick(scope.row)" class="table-btn btn-handle" ><i class="ri-download-2-line"></i>下载</span > </template> </el-table-column> // 材料预览 export function materialPreview(data) { return Http.request({ url: '/file/preview', method: 'get', responseType: 'blob', data: data }); } //预览弹窗 <el-dialog title="预览" :visible.sync="PreviewDialogVisible" append-to-body width="70%" center > <div> <iframe :src="pdfSrc" width="100%" height="800px"></iframe> </div> </el-dialog> //data中定义的变量 data() { return { pdfSrc: "", downloadUrl: "http://10.110.96.76/", PreviewDialogVisible: false, } } //预览代码 handleRowClick(row) { materialPreview({ fileName:row.fileName, realFileName:row.fileName, }).then((res) => { console.log(res); const blob = new Blob([res.data], { type: "application/pdf" }); this.pdfSrc = window.URL.createObjectURL(blob); this.$nextTick(() => { this.PreviewDialogVisible = true; }); console.log(this.pdfSrc); //window.open(this.pdfSrc) //新窗口打开,借用浏览器去打印 }); } //下载代码 handleDownLoadClick(data) { if (data.downloadUrl != null) { window.open(this.downloadUrl + data.downloadUrl); } },
后台返回的流文件格式
到此这篇关于vue实现pdf预览功能的方法的文章就介绍到这了,更多相关vue实现pdf预览内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
ant-design-vue前端UI库,如何解决Table中时间格式化问题
这篇文章主要介绍了ant-design-vue前端UI库,如何解决Table中时间格式化问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03Vite处理html模板插件之vite-plugin-html插件使用
这篇文章主要给大家介绍了关于Vite处理html模板插件之vite-plugin-html插件使用的相关资料,Vite是一个现代化的前端构建工具,而vite-plugin-html是Vite的一个插件,用于在构建时自动生成HTML文件,需要的朋友可以参考下2023-10-10vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
这篇文章主要介绍了vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造,home.vue 组件有了两个属性:navs 和 tts 属性,具体实例代码大家跟随小编一起通过本文学习吧2018-09-09
最新评论