Получите высоту и ширину изображения, сохраненные на 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);
}