gpt4 book ai didi

node.js - S3.putObject - 回调永远不会被调用

转载 作者:IT老高 更新时间:2023-10-28 23:26:06 27 4
gpt4 key购买 nike

我正在尝试将图像上传到 S3,但是当我调用 s3.putObject(params, callback) 时,我的回调永远不会被调用,也不会记录任何错误。

以下是相关代码:

var params = {
Key: key,
Body: imageData,
ContentLength: imageData.byteCount,
ContentType: contentType,
};
this.s3.putObject(params, function(err, data) {
console.log('here');
if (err) {
callback(err);
return;
}
callback(null, key);
});

params 是 {
键:'e2f99bf3a321282cc7dfaef69fe8ca62.jpg',
正文:{imageData 使用 Node 多方从请求中解析},
内容长度:27802,
内容类型:'图像/JPEG',
}

我已经验证 this.s3 是有效的,并且 typeof this.s3.putObject 的功能符合预期。

最佳答案

如果此代码用于 lambda 函数,您需要在 putObject 的回调函数中添加 context.done(),如下所示:

        s3.putObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
context.done();
});

这会强制执行等到回调被填充后再退出。为此,您还需要从主处理程序中删除任何 context.succeed 或 context.done(如果您有的话)。

关于node.js - S3.putObject - 回调永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30280072/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com