📅  最后修改于: 2023-12-03 15:17:44.945000             🧑  作者: Mango
Multer 是一个 Node.js 中间件,用于处理 multipart/form-data
类型的数据(通常是通过 HTML 表单上传的文件)。它是一个构建于 busboy 之上的封装,可以很容易地集成到 Web 应用程序中。
Multer 允许上传多个文件,并提供了一些与上传相关的属性和方法。它还可以与其他中间件进行配合使用,如 body-parser,以便将文件和表单数据组合在一起使用。
要开始使用 Multer,您需要在项目中安装其 NPM 包。
npm install --save multer
要在 Express 应用程序中使用 Multer,只需将其引入并将其作为中间件添加到应用程序中。下面是一个示例:
const express = require('express');
const multer = require('multer');
const app = express();
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
const upload = multer({ storage: storage })
app.post('/upload', upload.single('file'), (req, res) => {
console.log('File uploaded successfully!');
res.send('File uploaded successfully!');
});
app.listen(3000, () => {
console.log('Server started on http://localhost:3000')
});
在这个示例中,我们首先在应用程序中导入了 Multer,然后创建了一个 storage
对象,其中 destination
属性指定要将文件保存到的文件夹,filename
属性指定要为上传的文件生成的文件名。
然后,我们使用 multer()
函数创建一个 Multer 实例,并将 storage
对象作为参数传递给它。最后,我们将上传处理程序添加到应用程序的路由中,以处理从客户端发送的 POST 请求。
现在,当客户端向应用程序发送 POST 请求时,并将一个名为 file
的文件上传到 /upload
路由时,服务器将接收到文件,并将它保存到指定的文件夹中。最后,客户端将收到一个响应,指示文件已成功上传。
Multer 支持许多不同的配置选项和用法,包括:
Multer 的完整文档可以从 npm 或 GitHub 获取。
Multer 是 Node.js 中处理文件上传的强大中间件。它易于使用,同时也提供了许多灵活的选项和用法。如果你需要在你的 Web 应用程序中处理文件上传,Multer 是一个值得尝试的选择。