Как загрузить изображение из jimp с помощью multer в nodejs - PullRequest
0 голосов
/ 03 декабря 2018

Я отправил запрос от клиента со ссылкой на изображение в теле, на сервере узлов я использую jimp ( Jimp NPM ), чтобы изменить размер отправленного мной изображения, затем мне нужно сохранитьimage для mongodb с multer, но у меня есть некоторые путать с этим шагом, у кого-нибудь есть идеи?Спасибо !вот мой код:

const multer = require('multer');
const GridFsStorage = require('multer-gridfs-storage');
const mongoose = require('mongoose');

    exports.resizeImage = async function (req, res) {
        let storageFS = new GridFsStorage({
            db: app.get("mongodb"),
            file: (req, file) => {
                return new Promise((resolve, reject) => {
                    crypto.randomBytes(16, (err, buf) => {
                        if (err) {
                            return reject(err);
                        }
                        const filename =  file.originalname;
                        const fileInfo = {
                            filename: filename,
                            bucketName: 'images'
                        };
                        resolve(fileInfo);
                    });
                });
            }
        });
        var upload = multer({ storage: storageFS }).single('image');
        try {
            Jimp.read(req.body.imagePath)        
            .then(image => {
                image.resize(150, 150, function (err, img) {
                    // How to store img to mongodb with multer here ? 
                });
            })
            .catch(err => {
                throw err
            });


        } catch (error) {
            res.send(error);
        }
    }
...