vue里面如何下载pdf文件

前端需要下载一个pdf文件,pdf文件是本地的,一开始是想使用a标签的download属性下载,但是a标签的download有兼容,只支持火狐和谷歌,我现在也需要支持safara的,大神们有没有好的解决方法啊???

阅读 19.3k
5 个回答

使用download.js
https://github.com/rndme/down...

引入后一行代码搞定下载。

download('/test.pdf');

原理是使用XHR请求获取文件数据,本地封装后下载。

可以使用 iframe 进行下载。

downloadFile(url) {
  var iframe = document.createElement("iframe");
  iframe.style.display = "none";
  iframe.src = url; 
  document.body.appendChild(iframe);
}

window.loacation.href=文件地址 不知道你有没有用过jsPDF 我之前用的 可以试一下

@moonsola 的答案可以,但是有个问题:如果 PDF 文件地址与用户浏览的网站不同源(跨域),服务器没有设置 Access-Control-Allow-Origin 也是不能下载的!

最好的解决方案是后端添加一个响应头

Content-Disposition

这样浏览器默认会已附件方式下载,而不是预览.

https://segmentfault.com/a/11...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题