Javascript 如何使用Sharp从S3调整图像大小?

Javascript 如何使用Sharp从S3调整图像大小?,javascript,node.js,amazon-web-services,amazon-s3,sharp,Javascript,Node.js,Amazon Web Services,Amazon S3,Sharp,我正在尝试使用Node.js API中的@aws sdk/v3调整从S3上传的图像的大小 首先,我从S3获取对象(图像),如下所示: 。。。 常量参数={Bucket:AWS\u Bucket\u NAME,Key:Key} const data=wait s3.send(新的GetObjectCommand(params)) console.log(`>>Success,bucket返回:`,data)//正确记录 然后我尝试调整数据大小(图像): const convert=sharp(d

我正在尝试使用Node.js API中的@aws sdk/v3调整从S3上传的图像的大小

首先,我从S3获取对象(图像),如下所示:

。。。
常量参数={Bucket:AWS\u Bucket\u NAME,Key:Key}
const data=wait s3.send(新的GetObjectCommand(params))
console.log(`>>Success,bucket返回:`,data)//正确记录
然后我尝试调整数据大小(图像):

const convert=sharp(data).resize(size,size).webp()
但它抛出:

 >> data.type: object
(node:35583) UnhandledPromiseRejectionWarning: Error: Input file is missing
...
我不知道该怎么上传回去


我做错了什么?

我认为
sharp
构造函数接受缓冲区,但您传递的是来自SDK请求的整个响应。相反,请尝试将data.Body传递给sharp fn,如下所示:

const convert=sharp(data.Body).resize(size,size.webp()