ajo*_*nha 7 amazon-s3 amazon-web-services node.js multer-s3
我正在尝试使用 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)
}
})
Run Code Online (Sandbox Code Playgroud)
我试图通过请求对象传递值并在存储桶参数中使用它。但它是未定义的。
在这两种情况下,req.bucketName 和 req.body.bucketName 都是未定义的。
需要帮助来解决这个问题。
我的邮递员请求如下
谢谢你的帮助。
小智 6
如果您使用 Postman 并有一个文件作为参数,那么在包含该文件后就没有其他内容了。
交换参数的顺序,并将bucketName放在文件前面,您将在正文中看到它。
第一张图显示了错误的顺序,body 中没有bucketName 元素。第二张图片将正确通过 Busboy,并且主体将具有“testName”的 bucketName 元素。