Я использую этот пакет узла:При использовании узла острого пакета для изменения размера изображений и загрузить s3 он повернут
https://www.npmjs.com/package/sharp
Я использую его, чтобы изменить размер изображения, а затем загрузить его на Amazon S3.
Большинство изображений можно найти, но некоторые из них (я полагаю, на основе соотношения сторон) повернуты.
Есть ли способ предотвратить это или повод для этого?
Настоящая копия кода, который я использую. imageData - это либо данные, взятые из файла ведро s3 из загрузки файла. Как вы можете видеть, я не вызываю функцию rotate. Нужно ли «запереть» вращение?
module.exports.resize = function(imageData, width, fileName){
sharp(imageData).resize(parseInt(width), null).toBuffer(function (err, data) {
if (err) throw err;
s3.putObject({
Bucket: aws.bucket,
Key: 'images/' + width + '/' + fileName,
Body: data
}, function (err, data) {
if (err) {
console.log('Failed to resize image due to an error: ' + err);
return {
message: 'Failed to resize image due to an error: ' + err
};
} else {
console.log('s3 image uploaded to ' + 'images/' + width + '/' + fileName);
return {
message: 's3 image uploaded to ' + 'images/' + width + '/' + fileName
};
}
});
});
});
Было бы лучше, если бы вы показали свой код и тестовое изображение. –
Возможно ли, что ваше изображение имеет данные ориентации EXIF, которые не учитываются вашим зрителем или libvips (резервная библиотека для резкого)? – mikefrey
Как проверить данные ориентации EXIF? – jaget