使用 multer returns undefined 在 S3 API 上传图片

Upload image on S3 API using multer returns undefined

我正在构建一个 API 用于上传图像并将它们直接存储在 S3 存储上。为此,我使用 Postman.Method 是 POST 并且输入类型是 file.When 我使用 req.files 或 req.file 我未定义。

Utils.js:

getS3SignUrl: function( uri ){
   return s3_client.getSignedUrl('putObject',{Bucket:config.aws.bucket,Key:uri,ACL :"public-read"})
}

在主文件中我使用了这些:

var bodyParser = require('body-parser');
var upload = require('multer')();
var utils = require('../service/utils.js');

router.post('/edit-profile', upload.single('newfile'), function(req, res) {
    console.log(req.file);  
  });
});

在控制台中,我未定义,但是当我使用调试器和 req.body 时,我得到:

所以,我好像在 req.body 里有它,但我怎样才能从这里拿走它?

除了 multer,我还安装并包含了 multerS3 模块:

var multerS3 = require('multer-s3');

然后,我配置了它。我也用我应用 enctype="multipart/form-data"

的表格对其进行了测试
router.post('/ceva', multer({  storage: multerS3({ s3: s3_client, bucket: "****", acl: '**',  metadata: function (req, file, cb) {  cb(null, {fieldName: file.fieldname}); }, key: function (req, file, cb) {
      cb(null, "users/10/1"); } }) }).single('newfile'), function(req, res) {
    console.log(req.files);
    res.send('da');
});

至此,文件已成功上传至S3存储。