在大多数项目中都会遇到在线预览PDF文件,项目使用的是element ui,使用vue-pdf实现。
npm install --save vue-pdf
参数介绍:
预览 共{{pageCount}}页, 当前第 {{pdfPage}} 页 上一页 下一页
1、URL
url为文件地址路径
this.src = pdf.createLoadingTask({ url: 'http://localhost:8082/file/demo.pdf', });
2、设置请求头
可以通过httpHeaders来设置token等参数
httpHeaders: {Authorization:'Bearer '+ this.token}
3、src
这点比较重要,网上很多帖子都是这样的
this.src.then(pdf => { this.viewVisible = true; })
会报错 TypeError: this.src.then is not a function
TypeError: this.src.then is not a function at VueComponent.onPreview (index.vue?6ced:241) at click (index.vue?aaff:261) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at VueComponent.invoker (vue.runtime.esm.js?2b0e:2179) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at VueComponent.Vue.$emit (vue.runtime.esm.js?2b0e:3888) at VueComponent.handleClick (element-ui.common.js?5c96:9413) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179) at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917)
正确的是这样的
this.src.promise.then(pdf => { this.viewVisible = true; });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。