我正在尝试使用node js将文件上传到AWS S3。
我的要求是在multerS3存储对象中使用存储桶的动态值
storage: multerS3({
s3: s3,
bucket: function (req, file, cb) {
console.log(" bucketName is >> "+JSON.stringify(req.bucketName));
cb(null, req.bucketName)
},
limits : {
fileSize : Number(Constants.UPLOADED_IMAGE_SIZE)
},
metadata: function (req, file, cb) {
cb(null, { fieldName: file.fieldname });
},
key: function (req, file, cb) {
cb(null, file.originalname)
}
})我试图通过request对象传递值,并在bucket参数中使用它。但它正以未定义的形式出现。
在这两种情况下,req.bucketName和req.body.bucketName都是未定义的。
需要帮助来解决此问题。
我的邮递员要求如下

谢谢你的帮助。
发布于 2018-09-26 23:51:18
如果您使用Postman并将文件作为参数,则不会包含任何其他内容。
交换参数的顺序,并将bucketName放在文件前面,您将在正文中看到它。
第一张图片显示了不正确的顺序,并且body将不会有bucketName元素。第二个图片将正确地通过Busboy,主体将有一个'testName‘的bucketName元素。


https://stackoverflow.com/questions/50467285
复制相似问题