使用 Express.js 进行文件上传和下载

阅读时长 3 分钟读完

简介

在前端开发中,我们有时需要实现文件上传和下载的功能。而 Express.js 是一个流行的 Node.js 框架,它提供了轻松的方式来创建 Web 应用程序,包括处理文件上传和下载。

在本文中,我们将探讨使用 Express.js 如何从客户端上传文件,以及如何使用 Express.js 来提供文件下载的服务。我们将使用 Multer 中间件处理文件上传。

准备工作

为了遵循最佳实践,我们首先需要确保我们的项目是基于 Node.js 和 Express.js 进行开发的。如果您还没有安装 Node.js,可前往 Node.js 官网 下载即可。接着,请执行以下命令安装 Express.js 和 Multer:

文件上传

我们将使用 Multer 中间件来处理文件上传,它是一个非常受欢迎的 Node.js 库。Multer 中间件可以处理多种类型的文件上传,包括图片、文档、音频和视频文件。

首先,我们需要在 Express.js 应用程序中引用 Multer 中间件:

然后,我们需要设置上传目录,该目录用于存储客户端上传的文件。示例代码如下:

-- -------------------- ---- -------
----- ------- - --------------------
  ------------ ----- ----- --- -- -
    -------- ------------
  --
  --------- ----- ----- --- -- -
    -------- -------------------
  -
---
----- ------ - -------- ------- ---

以上代码指定了一个名为 uploads 的目录将被用来存储上传的文件,filename 方法用于指定文件的名称。

我们还需要在 Express.js 应用程序中创建一个 POST 路由处理文件上传。示例代码如下:

此路由处理客户端通过表单上传的文件,可以使用 Postman 或 curl 进行测试。如果上传成功,服务器将返回一条 JSON 消息。

文件下载

在 Express.js 应用程序中,我们可以使用 res.download() 函数来提供文件下载服务。示例代码如下:

以上代码通过 res.download() 函数提供了一条 /download 路由,用于从服务器下载 test.txt 文件。

总结

在本文中,我们学习了如何在 Express.js 应用程序中使用 Multer 中间件来处理文件上传,并了解了如何使用 res.download() 函数提供文件下载服务。现在,您已经可以构建一个完整的文件上传和下载应用程序了。

本文仅是入门指南,如果您想深入了解 Multer 中间件的更多用法,可以参考官方文档。如果您有任何问题或建议,请随时在下方留言。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c618094908f32798b26fee

纠错
反馈