首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Multer上传文件

无法使用Multer上传文件
EN

Stack Overflow用户
提问于 2019-02-18 00:51:28
回答 2查看 348关注 0票数 1

Multer应该将文件数据放在req.file中,但req.file未定义。

以下是我对该文件发出的请求:

下面是我的nodejs代码:

代码语言:javascript
复制
//routes.js
import candidatesRouter from './candidates';
export default function routes(app) {
  app.use('/v1/candidates', candidatesRouter);
}
代码语言:javascript
复制
//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); // []
  });

有谁有什么想法吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-02-18 04:30:28

尝尝这个

代码语言:javascript
复制
const fileUpload = require('express-fileupload');
app.use(fileUpload());

然后再次检查req.files

票数 0
EN

Stack Overflow用户

发布于 2019-02-18 20:25:00

看起来这个问题是因为我使用了Swagger中间件。https://apidevtools.org/swagger-express-middleware/docs/middleware/parseRequest.html Swagger中间件已经处理了表单数据的解析,并默认将其存储在req.files中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54735415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档