如何在express路由响应中发送PDF并强制浏览器下载
在本文中,我们将看到如何在express路由的响应中发送PDF文件,并使浏览器强制下载该文件。
方法:
- 加载所需的包,然后创建一个express应用程序。
- 定义主页和PDF下载请求的路由。
- 创建一个index.html文件,其中包含一个下载PDF的按钮。
- 单击按钮执行ajax请求以获取PDF。
- 在ajax调用的成功回调中,将接收到的PDF文件从blob格式转换为PDF格式。
- 现在,为了使浏览器强制下载PDF:
a. 创建一个隐藏的<a>
标签。
b. 使用window.URL.createObjectURL()方法创建文件的引用。
c. 将其href属性设置为blob的URL。
d. 将其download属性设置为文件名。
e. 点击<a>
标签。
f. 从DOM中移除该<a>
标签。
g. 释放现有的对象URL(对于文件的引用),通知浏览器不再保留文件的引用。
步骤1:安装必要的包
首先,安装以下Node.js包。
步骤2:创建基本的 Express 服务器设置
创建一个名为 app.js 的文件,并按照下面所示的代码进行编写。
App.js
步骤3:为应用程序定义路由
创建一个名为 routes.js 的文件,并按照下面显示的代码进行编写。
routes.js
步骤4:运行服务器
现在使用以下命令启动你的express服务器:
步骤5: 打开浏览器并输入URL
打开您喜爱的浏览器,在地址栏中输入 http://localhost:3000/downloadPDF 然后按下回车键,Resume.pdf 文件将自动下载。
输出:
步骤6:通过按钮使PDF可下载。
您可以通过在按钮上添加点击事件监听器,然后使用ajax请求上面的URL,使浏览器在点击按钮时下载PDF文件。
要在按钮点击时下载PDF文件,首先创建一个包含以下内容的 index.html 文件:
index.html
输出: