Как получить высоту и ширину пикселя изображения из буфера необработанных изображений в NodeJS

Я получаю данные в Node-Express как mutli-part/form-data используя модуль body-parser. Он представляет собой двоичный файл необработанного изображения, и я хочу передать его в sharp.js, чтобы я мог изменить размер и сохранить его в облаке.

Проблема в том, что я должен передать высоту и ширину изображения, иначе он не будет знать, что делать с моим файлом.

Как мне получить высоту и ширину изображения?

exports.upload = (req, res) => {
    let divisor = 1
    // how do I get the height and width?
    const image = sharp(req.body)

    return image.metadata()
    .then(function({height, width, format}) {
        if (width > 300 || height> 300) {
            divisor = width > height ? width / 300 : height / 300
        }
        return image
        .resize(Math.round(width / divisor), Math.round(height / divisor))
        .toBuffer();
    })
    .then(function(data) {
        // send to the cloud
    })
}

0 ответов

Другие вопросы по тегам