如何使用 express fileupload 将上传的图像调整为某个特定的高度和宽度

问题描述

嗨,我正在使用快速文件上传在我的 NodeJS 项目中上传图像,但我需要将上传图像的大小调整为 1000*1000 大小并保存到文件夹,我该怎么做

router.post('/add-product',(req,res) => {
// console.log(req.body)
let product=req.body
product.price=parseInt(product.price)
console.log(req.files.image);

let imgCount = req.body.len
producthelper.addProduct(req.body,(id)=>{
    let image=req.files.image

    if(imgCount == 1)
    {
        image.mv('./public/images/product-images/'+id+'-'+0+'.jpg',(err,done)=>{
            if(err)
            {
                console.log(err)
            }
        })
    }
    else{
        for(let i=0;i<imgCount;i++)
        {
            image[i].mv('./public/images/product-images/'+id+'-'+i+'.jpg',done)=>{
                if(err)
                {
                    console.log(err)
                }
            }) 
        }
    }
    req.flash('success_msg',"Successfully Added Your Product for Sell...")
    res.redirect('/sellproduct')
})

})

这是我将图片保存在文件夹中的代码,如何替换相同的?

解决方法

您可以为此使用 sharp npm 包。例如。

sharp(inputBuffer)
   .resize(1000,1000)
   .toFile('outputimage.jpeg',(err,info) => { ... });

https://www.npmjs.com/package/sharp