我已经能够使用multer-s3库将图像文件上传到 s3,但现在我正在尝试添加Sharp库以调整大小和旋转,但无法弄清楚它需要去哪里或如何去。这是我当前可用于上传的代码:
var options = {
'endpoint' : 'https://xxx',
'accessKeyId' : '123',
'secretAccessKey' : '123abc',
'region' : 'xxx'
};
const s3 = new aws.S3(options);
const upload = multer({
storage: multerS3({
s3: s3,
bucket: 'wave',
acl: 'public-read',
metadata: function (req, file, cb) {
cb(null, Object.assign({}, req.body));
},
key: function (request, file, cb) {
console.log('inside multerS3',file);
cb(null, file.originalname);
}
})
}).array('file', 1);
app.post('/upload/', (req,res) => {
upload(req,res, async function (error) {
if(error){
res.send({ status : error });
}else{
console.log(req.files[0]);
res.send({ status : 'true' });
}
});
});
并对文件执行以下操作:
sharp(input)
.resize({ width: 100 })
.toBuffer()
.then(data => {
// 100 pixels wide, auto-scaled height
});
任何帮助将不胜感激 :)