锐利的图像旋转只工作一次
Sharp image rotation works only once
我在 Node.js 的 Express 服务器上创建了一个将图像旋转 90 度的功能。
它在第一次被调用时有效,但第二次无效。如果我重新启动服务器,它会再次工作,所以如果我重新启动服务器 3 次,那么我可以一直旋转图像。
Product.findById 是一个猫鼬查询,用于查找前端请求中指定的图像 ID 的图像名称。
在第 7 行 console.log 中尝试第 7 行 console.log 正确的植物 path/name,并且不会抛出任何错误。
响应状态为 200"image rotated",两次也是
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)})
})
预期输出是每次 http 请求时图像旋转 90 度,但实际输出只是第一个 http 请求时图像旋转 90 度。
尝试在导入 sharp
模块后禁用缓存写入以下行:
sharp.cache(false);
我在 Node.js 的 Express 服务器上创建了一个将图像旋转 90 度的功能。 它在第一次被调用时有效,但第二次无效。如果我重新启动服务器,它会再次工作,所以如果我重新启动服务器 3 次,那么我可以一直旋转图像。
Product.findById 是一个猫鼬查询,用于查找前端请求中指定的图像 ID 的图像名称。
在第 7 行 console.log 中尝试第 7 行 console.log 正确的植物 path/name,并且不会抛出任何错误。 响应状态为 200"image rotated",两次也是
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)})
})
预期输出是每次 http 请求时图像旋转 90 度,但实际输出只是第一个 http 请求时图像旋转 90 度。
尝试在导入 sharp
模块后禁用缓存写入以下行:
sharp.cache(false);