node 第十四天 基于express的第三方中间件multer node后端处理用户上传文件
const express = require('express');
const multer = require('multer');
const path = require('path');
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())
}
})
// 创建 multer 实例,并指定存储方式
const upload = multer({ storage: storage });
// 为了处理 post 请求,使用 multer 中间件
app.post('/upload', upload.single('myFile'), function (req, res, next) {
// req.file 是 `myFile` 文件的信息
// req.body 将具有文本域数据, 如果存在的话
if (req.file) {
res.json({ success: true, message: '文件上传成功', file: req.file });
} else {
res.json({ success: false, message: '请上传一个文件' });
}
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
这段代码创建了一个简单的 Express 应用程序,使用 Multer 处理文件上传。它定义了一个存储配置,用于设置文件的存储路径和文件名,然后创建了一个 Multer 实例。最后,它设置了一个处理文件上传的 POST 请求路由,并在上传完成后返回相应的响应。
评论已关闭