Чего я хочу достичь.
Я хочу сжать свои изображения, которые пользователь загружает на мой сервер, используя TinyPng Api, а затем загружать их в мою корзину s3.
Код
Вот мой код для загрузки в ведро s3.
var upload = multer({
storage: multerS3({
s3: s3,
bucket: 'thecuratorsbucket',
metadata: function (req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key: function (req, file, cb) {
const name ="images/" + file.originalname.toLowerCase().split(' ').join('-');
const ext = MIME_TYPE_MAP[file.mimetype];
cb(null, name + '-' + Date.now()+ '.' + ext);
// cb(null, Date.now().toString())
}
})
})
router.post('/add-product',checkAuth,upload.array("images[]", 12), adminController.postAddProduct);
Код TinyPng
const source = tinify.fromFile("large.jpg");
source.store({
service: "s3",
aws_access_key_id: "AKIAIOSFODNN7EXAMPLE",
aws_secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
region: "us-west-1",
headers: {
Cache-Control: "public, max-age=31536000"
},
path: "example-bucket/my-images/optimized.jpg"
});
ссылка на ссылку api https://tinypng.com/developers/reference/nodejs
Проблема
Я не понимаю, как использовать код tinyPng в качестве промежуточного программного обеспечения и загрузить его в свою корзину s3.