微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Node.js中使用Jimp库直接发送操纵图像作为响应而不将其保存到磁盘?

如何解决如何在Node.js中使用Jimp库直接发送操纵图像作为响应而不将其保存到磁盘?

我已经用Jimp库在nodejs中编写了这段代码

module.exports.imageProccessingJimp = function(req,res) {
    const fs = require('fs');
    var pathOriginal = 'images/pic_original.jpg';
    var pathManipulated = 'images/pic_manipulated.jpg'
    var Jimp = require('jimp');
    Jimp.read(pathOriginal)
    .then(lenna => {
        return lenna
            .resize(256,256) // resize
            .quality(80) // set JPEG quality
            .greyscale() // set greyscale
            .write(pathManipulated,() => {
                const files = fs.createReadStream(pathManipulated);
                res.writeHead(200,{'content-disposition':'attachment;filename:' & pathManipulated});
                files.pipe(res);
            }); // save
    })
    .catch(err => {
        console.error(err);
    });
};

它使用Jimp库处理图像,然后将处理后的图像保存到磁盘,最后从磁盘读取它并作为响应返回。

我打算防止将经过处理的图像保存到磁盘上并直接将其作为响应发送。

你有什么主意吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。