Node.js 是一个非常流行的 JavaScript 运行环境,它可以在服务器端运行 JavaScript 代码。在开发 Web 应用程序时,文件上传是一个非常常见的需求。Multer 是一个 Node.js 的中间件,用于处理文件上传。在本文中,我们将详细讲解 Multer 的使用和 API。
Multer 是什么?
Multer 是一个 Node.js 的中间件,用于处理文件上传。它基于 busboy 构建,可以处理 multipart/form-data 格式的数据,例如上传文件。Multer 可以将上传的文件保存到磁盘上,也可以将其保存到内存中,还可以将其保存到云存储中。
安装 Multer
要使用 Multer,首先需要在项目中安装它。可以通过 npm 安装 Multer,命令如下:
npm install multer
Multer 的 API
Multer 的 API 非常简单。Multer 模块只有一个函数,该函数返回一个中间件,用于处理文件上传。该函数的语法如下:
multer([options])
其中,options 是一个可选的对象,可以包含以下属性:
- dest:上传文件的目标目录。
- limits:限制上传文件的大小。
- fileFilter:定义哪些文件可以上传。
返回的中间件有两个方法:
- single(fieldname):处理单个文件上传。
- array(fieldname[, maxCount]):处理多个文件上传。
- fields(fields):处理多个文件上传,每个文件可以有不同的属性。
- any():处理任何类型的文件上传。
这些方法返回一个函数,该函数可以用作 Express.js 的中间件,用于处理文件上传。
Multer 的使用案例
下面是一个使用 Multer 的示例代码,用于处理单个文件上传:
const express = require('express');
const multer = require('multer');
const app = express();
con