我在通过sharp
和readStream
将调整大小后的图像上传到Amazon s3时遇到问题。它仅上传第一块图像。但是当我创建一个writeStream并保存本地文件时,一切正常。
return new Promise((resolve, reject) => {
const readableStream = fs.createReadStream(pathToUserFile);
const transformer = sharp().resize(300, 250);
readableStream.pipe(transformer);
const params = {
Bucket: S3_BUCKET_NAME,
Body: readableStream,
ACL: 'public-read',
Key: `S3_BUCKET_PATH/${name}`,
ContentType: type
}
s3.upload(params, (err, data) => {
if (err) reject(err);
if (data) resolve();
})
});
也许我做错了什么?我可以将调整大小的文件保存到磁盘上并发送...但是我想发送文件而不进行本地保存