我正在使用包括图片上传在内的express开发REST API。
我需要将图像文件数据作为流获取,然后将该流通过管道传输到s3存储桶。 (由于图像文件可能很大,无法容纳到内存中,因此我希望将其直接移到s3存储桶中)。
我正确地创建了图像下载路径,如下所示:
router.get('/', (req, res) => {
let image_key = "shop/ER-2.jpeg";
let read_stream = s3.getObject({
Bucket: process.env.AWS_S3_BUCKET,
Key: image_key,
}
).createReadStream();
read_stream.on('close', () => {
res.end()
});
read_stream.on('error', () => {
res.status(502).end();
});
read_stream.pipe(res);
});
但是当从req.files上传文件时,我不明白如何从请求对象中传递管道(或获取读取流)。谢谢您的帮助。