Загрузка изображения в корзину Amazon S3 - PullRequest
1 голос
/ 04 мая 2019

Я загружаю одно изображение (upload.single ('file') - это промежуточное ПО Multer.), Платформа Koa для nodeJs.Все работает на локальном хосте, но не в среде prod.Вот путь к среде Prod. введите описание изображения здесь

Конверт продукта: Cliet-> Api gateway-> NLB -> сервис для корзины S3.

localhost env: Cliet-> служба для корзины S3.

Проблема заключается в том, что размер изображения увеличивается, когда он достигает службы до загрузки в корзину S3, и изображение будет искаженным (237 КБ увеличивается до 418 КБ),Но с использованием localhost все работает нормально.Я использовал почтальон в качестве клиента для загрузки изображения.

async create(ctx: Context, values: any): Promise<any> {

    // The image size increased before sending to S3 bucket
    console.log('REQUEST----', values.file)

    const params = {
      Bucket: env.Bucket,
      Key: `images/${values.file.originalname}`,
      Body: values.file.buffer,
      ACL: 'public-read',
      ContentType: values.file.mimetype,
      ContentLength: values.file.size,
    }


    try {
      const data = await s3.putObject(params).promise();
      console.log('Successfully uploaded file.', data);
      return true;
    } catch(e) {
         ctx.throw(HttpStatusCodes.InternalServerError, {
          message: `Something went wrong when updating advertisement` + e,
        });
    }
  }

...