Node学习023-管理系统之添加英雄——文件上传-multer第三方模块之multer简介、multer配置、multer使用 & 使用myupload.single() 方法作为接口的中间件
在这个例子中,我们将使用multer
第三方模块来处理文件上传。multer
是一个用于处理multipart/form-data
类型的数据,特别是文件上传的中间件。它可以很容易地集成到Express应用程序中。
首先,我们需要安装multer
。在命令行中运行以下命令:
npm install --save multer
然后,我们可以在代码中引入并使用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 });
// 使用upload.single处理单文件上传
app.post('/hero/add', upload.single('heroIcon'), function (req, res, next) {
// req.file是上传文件的信息
const file = req.file;
console.log(file);
res.send('File upload success!');
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
在这个例子中,我们定义了一个storage
配置,指定了文件的存储路径和文件名。然后,我们使用这个配置创建了一个upload
实例。在Express的路由中,我们使用upload.single('heroIcon')
来处理单文件上传,其中'heroIcon'是HTML表单中的<input>
元素的name
属性。当文件上传成功后,我们可以从req.file
对象中获取到文件的相关信息。
评论已关闭