如何解决Vue.js 和 Axios 获取 pdf 的速度很慢
我在使用 Vue.js 和 Axios 在我的 Laravel 应用中获取 pdf 文件时遇到问题。
当用户点击此按钮时:
<a @click="fetchData()"><i class="fas fa-file-download mouse-pointer"></i></a>
我的 fetch 方法在 Vue.js 中被调用:
methods: {
fetchData() {
axios.get(this.fetchUrl,{responseType: 'arraybuffer'})
.then(response => {
let blob = new Blob([response.data],{ type: 'application/pdf' })
let link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.stream = 'Faktura nr. ' + this.invoiceId + '.pdf'
link.click()
})
}
},
从三个表中调用后端控制器的信息:
public function download($id)
{
return PDF::loadView('app.pdf.invoice',[
'invoice' => Invoice::find($id),'student' => User::find(Auth::user()->id),'company' => Company::find(Auth::user()->companies_id),])->stream("'Faktura nr.' $id '.pdf'");
}
然后将信息发送到生成 PDF 的“fetchData”方法。
但是创建pdf需要将近2分钟。我该怎么做才能更快地拨打电话?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。