首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Multer-s3中使用动态存储桶名称进行文件上传

如何在Multer-s3中使用动态存储桶名称进行文件上传
EN

Stack Overflow用户
提问于 2018-05-22 20:08:21
回答 1查看 1.6K关注 0票数 5

我正在尝试使用node js将文件上传到AWS S3。

我的要求是在multerS3存储对象中使用存储桶的动态值

代码语言:javascript
复制
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都是未定义的。

需要帮助来解决此问题。

我的邮递员要求如下

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-09-26 23:51:18

如果您使用Postman并将文件作为参数,则不会包含任何其他内容。

交换参数的顺序,并将bucketName放在文件前面,您将在正文中看到它。

第一张图片显示了不正确的顺序,并且body将不会有bucketName元素。第二个图片将正确地通过Busboy,主体将有一个'testName‘的bucketName元素。

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

https://stackoverflow.com/questions/50467285

复制
相关文章

相似问题

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