AWS SDK - node.js - преобразование буфера, но получение информации о случайных строках - PullRequest
0 голосов
/ 23 января 2020

Я сейчас пытаюсь получить доступ к объекту из моего S3 Bucket. Однако при запуске преобразования буфера я получаю следующую информацию на основе изображения. Я не уверен, должен ли это быть правильный результат или нет ...

Цель этого - получить exif-информацию из изображений, хранящихся в AWS, и скорректировать их поворот до 0 градусов, так как некоторые изображения которые хранятся в моем хранилище, являются несовместимыми из-за старых разработчиков.

Файлы в настоящее время являются жестким кодом для тестирования.

Кроме того, файлы сохраняются в формате png с метатипом как image / jpeg. Не уверен, что это как-то связано с ошибкой.

Вот текущий код для доступа к aws информации:

require('dotenv').config();
const aws = require('aws-sdk');

aws.config.update({
  secretAccessKey: process.env.AWS_ACCESS_KEY,
  accessKeyId: process.env.AWS_ACCESS_KEY_ID,
  region: process.env.AWS_REGION,
});

const s3 = new aws.S3();

const getParams = {
  Bucket: process.env.AWS_ACCESS_BUCKET_IMG_UPLOAD, 
  Key: 'forms_bg_test.png',

const getS3Test = (res) => {
  s3.getObject(getParams, (err, data) => {
    // Handle any error and exit
    if (err) {
      console.error(err);
      res.sendStatus(400);
    }

    // No error happened
    // Convert Body from a Buffer to a String
    console.log({ data });
    const objectData = data.Body.toString('utf-8'); // Use the encoding necessary
    console.log({ objectData });
    res.status(200).send(objectData);
  });
};

Выяснил, что код должен быть toString ('base64') для получения строки. Теперь другая проблема заключается в том, как бы я использовал эту информацию об изображении и отобразил фактическое изображение?

Консоль - отображение преобразованных данных буфера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...