nodejs - 如何防止 exif 图像自动旋转

问题描述

我使用 imagemin 来最小化图像大小。

之后,我发现最小化的图像从纵向变为横向,这对我来说是意外。

有什么办法可以防止它旋转吗?

...

async function minimizeImage(data){

        var bufferFromImage = Buffer.from(data.image,'base64');

        if ((bufferFromImage.length / 1e+6) > 5) {
            throw new errors.NotAcceptable("too large");
        }
        const miniBuffer = await minimizeImage(bufferFromImage);
}


const resize = async (input) => {

    return sharp(input)
        .resize(250)
        .toBuffer();
};

const minimizeImage = async (bufferFromImage) => {
    if ((bufferFromImage.length / 1e+6) > 0.1) {
        return await imagemin.buffer(bufferFromImage,{
            plugins: [resize]
        });
    } else {
        return bufferFromImage;
    }
}

解决方法

最终通过使用 jpeg-autorotate 库解决了这个问题。

有一篇与此问题相关的帖子。
Wrong Image orientation when uploading - Amazon S3