使用动态文件名上传 - multer / s3

时间:2017-09-06 08:20:36

标签: javascript amazon-s3 multer multer-s3

我使用multer / multer-s3将Profilepicture上传到Amazon S3。 当我使用像'userPhoto_'这样的静态文件名匹配表单中的fieldname时,上传效果很好。

var upload = multer({
  storage: multerS3({
      s3: s3,
      bucket: '<bucketname>',
      key: function (req, file, cb) {
          cb(null, file.fieldname);
      }
  })
});

router.post('/api/photo', upload.single('userPhoto_123'), function (req,res) {
  res.end("Uploaded!");
});

在我的.ejs文件中,我有输入字段,如

<input class="ui input" type="file" name="userPhoto_<%=person.id%>" />

所以问题是如何将包含person.id的FieldName传递给upload.single - Middleware。

谢谢!

1 个答案:

答案 0 :(得分:0)

将存储桶值修改为 -

req:是正常的快递请求

bucket :( req,file,cb)=&gt; {   cb(null,${req.dynamic_name}); };