Multer应该将文件数据放在req.file中,但req.file未定义。
以下是我对该文件发出的请求:

下面是我的nodejs代码:
//routes.js
import candidatesRouter from './candidates';
export default function routes(app) {
app.use('/v1/candidates', candidatesRouter);
}//candidates.js
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
export default express
.Router()
.post('/:userId/documents/:objectKey', upload.any(), (req, res, next) => {
console.log(req.body); // undefined
console.log(req.file); // undefined
console.log(req.files); // []
});有谁有什么想法吗?谢谢!
发布于 2019-02-18 04:30:28
尝尝这个
const fileUpload = require('express-fileupload');
app.use(fileUpload());然后再次检查req.files
发布于 2019-02-18 20:25:00
看起来这个问题是因为我使用了Swagger中间件。https://apidevtools.org/swagger-express-middleware/docs/middleware/parseRequest.html Swagger中间件已经处理了表单数据的解析,并默认将其存储在req.files中。
https://stackoverflow.com/questions/54735415
复制相似问题