Как получить высоту и ширину пикселя изображения из буфера необработанных изображений в 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
})
}