Как загрузить в S3 Bucket с помощью TinyPng API NodeJs - PullRequest
0 голосов
/ 05 мая 2020

Чего я хочу достичь.

Я хочу сжать свои изображения, которые пользователь загружает на мой сервер, используя 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...