【问题标题】:How to save jimp resized image to mongoDb database如何将 jimp 调整大小的图像保存到 mongoDb 数据库
【发布时间】:2021-04-05 05:30:01
【问题描述】:

如何将调整大小的图像 jimp 保存到 MongoDB 数据库。我正在使用 nodejs、express、multer 和 gridfs。 write 方法只写入一个文件夹。

【问题讨论】:

    标签: javascript node.js mongodb express file-upload


    【解决方案1】:

    好吧,首先,除非您真的知道自己在做什么,否则您不应该这样做。您最好使用本地存储或 S3 存储桶。

    但是,如果您真的想要这样做,您可以对您的图像进行 base64 编码。

    Jimp.read(...).then(function(img) {
        // manipulate your image
        img.getBase64(Jimp.AUTO, (err, base64Image) => {
            // save base64Image to database
        })
    });
    

    然后在客户端输出为:

    <img src="data:image/jpeg;base64, "+base64Image />
    

    【讨论】:

    • 我想在调整大小后保存图像,而不是缓冲区(它太大了!)
    • 以及如何将 png 或 jpg 文件保存到 MongoDB 数据库
    • 您保存的是 base64 编码的图像,而不是图像本身。将其保存为常规条目。是的,图像通常很大,不应将其保存在数据库中。您还将失去流式传输图像的能力,从而减少加载时间。
    • 我想保存图像而不是缓冲区是否可能,我对保存缓冲区不感兴趣
    • 我第一次使用 multer 保存图像,然后调整大小,然后将调整大小的图像保存到数据库我可以通过 jimp.write 将调整大小的图像保存在文件夹中,但我想保存它在数据库中,如果您知道 multer 也可以告诉如何将调整大小的图像保存到数据库并删除文件夹中的图像
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 2011-01-29
    • 2013-05-09
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多