22 lines
758 B
JavaScript
22 lines
758 B
JavaScript
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; |