Здравствуйте,
Я использую Sharp для сжатия загруженных пользовательских изображений. Я хочу быть уверен, что мой подход безопасен и теоретически работает во всех случаях.
Я довольно нерешителен, так как я еще не провел должного тестирования и пока что не развернул приложение, а занимаюсь большим рефакторингом кода, затем я протестирую все в ближайшие дни.
Я сомневаюсь в правильности моего кода и хотел бы услышать от вас мнение по этому поводу. Вот он:
const width_ = 200
try {
thumbnailBuffer = await sharp(originalBuffer)
.metadata()
.then(({ width }) => {
if(width > 400) {
return sharp(originalBuffer)
.resize(Math.round(width * 0.5)).toBuffer()
} else if(width > 200){
return sharp(originalBuffer)
.resize(width_, { fit: 'inside' }).toBuffer()
} else {
return undefined
}
})
} catch (error) {
req.log.error(`post/listings#postListingHandler#sharp: ${error.message}`)
}
Будет ли thumbnailBuffer
содержать значение нового буфера или обещание или все это неправильно?
Спасибо большое !!!