Я сделал функцию, которая поворачивает изображения на 90 градусов на сервере Express в Node.js.Работает при первом вызове, но не во второй раз.Если я перезапущу сервер, он снова будет работать, поэтому, если я перезагружу сервер 3 раза, я мог бы повернуть изображение полностью вокруг.
Product.findById - это запрос мангуста, чтобы найтиимя изображения для идентификатора изображения, указанного в запросе из внешнего интерфейса.
В первой и второй попытках console.log в строке 7 возвращает правильный путь / имя установки, и ошибка не выдается.Статус ответа 200 «изображение повернуто», оба раза также
router.patch("/rotate/:image", (req, res, next) => {
let image = ""
Product.findById(req.params.image)
.exec()
.then(result => {
image = './uploads/resized/'+result.image
console.log("image", image)
sharp(image)
.rotate(90)
.withMetadata()
.toBuffer(function(err, buffer) {
if(err) throw err
fs.writeFile(image, buffer, function() {
res.status(200).json("image rotated")
});
})
})
.catch(err => {res.status(400).json("invalid img id")
console.log(err)})
})
Ожидаемый результат - изображение поворачивается на 90 градусов при каждом запросе http, но фактический результат - только изображение, повернутое на 90 градусов при первом запросе http.