const util = require("util"); const multer = require("multer"); const { GridFsStorage } = require("multer-gridfs-storage"); const dbConfig = require("../config/db.config"); var storage = new GridFsStorage({ url: dbConfig.url, options: { useNewUrlParser: true, useUnifiedTopology: true }, file: (req, file) => { const match = ["image/png", "image/jpeg", "image/jpg"]; if (match.indexOf(file.mimetype) === -1) { const filename = req.params.filename; return filename; } return { bucketName: dbConfig.imgBucket, filename: req.params.filename }; } }); var uploadFiles = multer({ storage: storage }).single("file"); var uploadFilesMiddleware = util.promisify(uploadFiles); module.exports = uploadFilesMiddleware;