共计 3028 个字符,预计需要花费 8 分钟才能阅读完成。
使用 Express.js 构建一个简单的 Node.js 应用程序来下载 PDF
介绍
在本教程中,我们将逐步介绍使用 Express.js 构建 Node.js 应用程序的过程,该应用程序允许用户下载 PDF 文件。对于从文档管理系统到教育平台的各种应用程序来说,这都是一个有用的功能。
前提
在我们开始之前,请确保您具备以下先决条件:
-
安装 Node.js(https://nodejs.org/)
-
安装 Npm(https://www.npmjs.com/)
-
设置项目目录并使用 初始化 Node.js 项目 npm init。
第 1 步:项目设置
为您的项目创建一个新目录 (app.js),并使用以下命令初始化 Node.js 项目:
npm init
第 2 步:安装依赖项
为您的项目安装必要的依赖项。您可以通过运行以下命令来执行此操作:
npm i express
第 3 步:设置 Express 应用程序
创建 Express 应用程序并设置基本 Express 服务器。这是此步骤的代码:
const express = require('express');
const app = express();
const port = 3000;
const fs = require('fs');
步骤 4:创建 PDF 下载路径
创建处理 PDF 文件下载的 Express 路由。这是代码:
app.get('/download-pdf', (req, res) => {const filePath = `./pdfs/java.pdf`;});
确保您创建了一个名为“pdfs 添加您自己的 pdf 文件”的文件夹,我的文件名为 java.pdf
步骤 5:检查 PDF 文件是否存在
使用该 fs.existsSync 方法检查指定目录中是否存在 PDF 文件。如果文件不存在,我们将处理文件未找到错误。
if (!fs.existsSync(filePath)) {const notFoundError = new CustomError(404, 'PDF file not found');
return next(notFoundError);
}
第 6 步:发送 PDF 文件以供下载
如果文件存在,我们可以使用 res.download 发送 PDF 文件的方法进行下载。这是此步骤的代码:
res.download(filePath, `java.pdf`, (err) => {if (err) {const downloadError = new CustomError(500, 'Error: Unable to download the PDF file');
return next(downloadError);
}
});
});
第 7 步:错误处理
实施错误处理以捕获并响应各种错误,例如找不到文件或下载错误。以下是处理 Express 应用中的错误的方法:
app.use((err, req, res, next) => {if (err instanceof customError) {res.status(err.statusCode).json({error: err.message});
} else {
// Handle other errors
res.status(500).json({error: 'Internal Server Error'});
}
});
第 8 步:运行应用程序
使用以下代码启动 Node.js 应用程序:
app.listen(port, () => {console.log(`App listening on port ${port}`);
});
现在你应该拥有这个——
const express = require('express'); const app = express(); const port = 3000; const fs = require('fs');
// Replace this with your actual PDF directory path const pdfDirectory = './pdfs'; // Error handling class class CustomError extends Error {constructor(statusCode, message) {super(); this.statusCode = statusCode; this.message = message; } } // Middleware for error handling app.use((err, req, res, next) => {if (err instanceof CustomError) {res.status(err.statusCode).json({error: err.message}); } else {res.status(500).json({error: 'Internal Server Error'}); } }); app.get('/download-pdf', (req, res) => {const filePath = `${pdfDirectory}/java.pdf`; if (!fs.existsSync(filePath)) {const notFoundError = new CustomError(404, 'PDF file not found'); return next(notFoundError); }res.download(filePath, `java.pdf`, (err) => {if (err) {const downloadError = new CustomError(500, 'Error: Unable to download the PDF file'); return next(downloadError); } }); });
app.listen(port, () => {console.log(`App listening on port ${port}`); });
现在您测试或运行您的应用程序 node app.js,然后使用您选择的任何浏览器 {Chrome} 访问此路由 http://localhost:3000/download-pdf
就这样🙏🙏🙏 文章来源:https://www.toymoban.com/diary/web/384.html
文章来源地址 https://www.toymoban.com/diary/web/384.html
到此这篇关于使用 Express.js 构建一个简单的 Node.js 应用程序来下载 PDF 的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!
原文地址:https://www.toymoban.com/diary/web/384.html
如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!