const AWS = require("aws-sdk");
const s3 = new AWS.S3();
function getAttachments(file, bucket) {
var paramsArray = [];
var attachmentArray = [];
for (var a = 0; a < file.length; a++) {
paramsArray.push({
Bucket: bucket,
Key: file[a]
});
}
paramsArray.map(x = > s3.getObject(x, function (err, data) {
if (err) {
console.log(err);
}
attachmentArray.push({
filename: x.Key,
content: data.Body
});
console.log(attachmentArray)
})
)
}
var attachments = ['a.doc', 'b.doc', 'c.doc', 'd.doc', 'e.doc']
getAttachments(attachments,
'exampleBucket')
Я хочу зарегистрировать один массив объектов, каждый с ключом в качестве имени файла и строкой буфера в качестве содержимого. Однако в этом примере я регистрирую несколько массивов, увеличивающихся в размере для каждого элемента в массиве вложений.
Это в правильном формате, например: [{filename: a.doc, content: 'Buffer String'}]
, но я хочу только один массив с 5 объектами, возвращенными в этом формате.
Может кто-нибудь сказать мне, как это сделать?