Получите высоту и ширину изображения, сохраненные на Amazon S3

Я планирую хранить изображения на Amazon S3, как извлечь из Amazon S3:

1) размер файла 2) высота изображения 3) ширина изображения?

Ответ 1

Получение размера файла возможно, прочитав заголовок ответа Content-Length для простого запроса HEAD для вашего файла. Возможно, ваш клиент может помочь вам с этим запросом. Дополнительная информация о Документах S3 API.

Amazon S3 просто предоставляет вам хранилище (почти) больше ничего. Размеры изображения недоступны через API. Вы должны получить весь файл и сами рассчитать его размеры. Я бы посоветовал вам хранить эту информацию в базе данных при загрузке файлов на S3, если это применимо.

Ответ 2

Изображения можно сохранять в пользовательских метаданных при загрузке изображений, а затем читать эти данные с помощью REST API.

Обратитесь к этой странице для получения дополнительной информации о пользовательских метаданных: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html

Ответ 3

В Node это может быть очень просто, используя image-size в сочетании с извлечением узла.

async function getSize(imageUrl) {
  const response = await fetch(imageUrl);
  const buffer = await response.buffer();
  return imageSize(buffer);
}