Как загрузить изображение из jimp с помощью multer в nodejs
Я отправил запрос от клиента со ссылкой на изображение в теле, на сервере узлов я использую jimp ( Jimp NPM), чтобы изменить размер отправляемого изображения, затем мне нужно сохранить изображение в 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);
}
}