js 下载pdf文件,而不是打开预览 方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Aimee1608/article/details/83185650

项目需求

在这里插入图片描述

常规加上download 属性

<a href="https://testmv.xesimg.com/ExpCourse/image/2018/10/09/1539071754579183075997.pdf" download="filename" ></a>

这样点击下载 会直接打开pdf预览,需要做的是直接弹出下载框进行下载
主要原因是因为文件的请求头部的问题,需要设置一下头部
可以通过php后端做转发设置一下

改后的前端代码

<a  href="//i.xueersi.com/ExpCourse/dowloadFile?url=https://testmv.xesimg.com/ExpCourse/image/2018/10/09/1539071754579183075997.pdf&amp;name=测试2.pdf" download></a>

php 接口代码

$url = $this->request->query['url'];
$name = $this->request->query['name'];
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="' . $name . '"');
echo file_get_contents($url);

猜你喜欢

转载自blog.csdn.net/Aimee1608/article/details/83185650