如何从NodeJS中的原始图像缓冲区获取图像像素的高度和宽度

时间:2019-01-20 03:02:19

标签: node.js express buffer sharp rawimage

我正在使用主体解析器模块以mutli-part/form-data的形式在Node-Express中接收数据。它以原始图像二进制文件的形式下降,我想将其传递给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 个答案:

没有答案