【发布时间】:2019-06-06 11:04:51
【问题描述】:
我尝试使用 nodejs lambda 函数将图像上传到 aws s3 存储桶。但是对于最初的调用,没有文件被上传,并且在下次尝试时,之前的文件被上传。
即使我们在异步等待中使用,它也不能同步工作。
async uploadAttachment(attachment, id) {
try {
let res = '';
attachment.forEach(async (element, index) => {
const encodedImage = element.base64;
const fileTypeInfo = element.fileextType;
const fileName = `${Math.floor(new Date() / 1000)}_${index + 1}.${fileTypeInfo}`;
const decodedImage = Buffer.from(encodedImage, 'base64');
const filePath = `${id}/${fileName}`;
const params = {
Body: decodedImage,
Bucket: process.env.S3_FRF_BUCKET,
Key: filePath
};
res = await s3.upload(params, () => {});
});
return res;
} catch (e) {
throw e;
}
}
有什么建议吗?
【问题讨论】:
标签: node.js amazon-s3 file-upload aws-lambda