【发布时间】:2021-10-08 08:55:19
【问题描述】:
以前我通过 post 将我的 Javascript 对象发送到节点后端。这工作正常。问题是我必须移动以形成数据,因为我将 json 中的头像更改为 s3 url 而不是 base64。所以我安装了multer和multer-s3。我无法上传头像或更新其他 Javascript 对象属性。
我的 Javascript 对象的结构与
{
info: {
name: 'abc',
avatar: Blob Instance
},
address: {},
education: {}
}
我的多重代码是
const multer = require('multer');
const aws = require('aws-sdk');
const BUCKET_NAME = 'myBucket';
var multerS3 = require('multer-s3');
aws.config.accessKeyId = 'someId';
aws.config.secretAccessKey = 'someKey';
aws.config.region = 'us-east-2';
var upload = multer({
storage: multerS3({
s3: new aws.S3(),
bucket: BUCKET_NAME,
acl: 'public-read',
contentType: multerS3.AUTO_CONTENT_TYPE,
metadata: function(req, file, cb) {
console.log(file);
cb(null, { fieldName: file.fieldname });
},
key: function(req, file, cb) {
let id = req.user._id;
cb(null, id + '/' + Date.now().toString() + '_' + file.originalname);
},
}),
});
我的路线是
router.post(
'/',
authorizeUser,
upload.single('avatar'),
controller.updateWithAsscociations
);
在我的控制器函数 updateWithAsscociations 中,我什么也没得到。 logoURL 和其余的都不是
【问题讨论】:
标签: javascript node.js multer multer-s3