diff --git a/node-cpanel/index.js b/node-cpanel/index.js index c82c82a..7983896 100644 --- a/node-cpanel/index.js +++ b/node-cpanel/index.js @@ -2,7 +2,7 @@ const express = require('express'); const uploadRoutes = require('./routes/file-upload'); const mongoUploadRoutes = require('./routes/mongo-file-upload'); -const connectDB = require('./utils/mongo_db'); +const { connectDB } = require('./utils/mongo_db'); const { initGridFS } = require('./utils/gridfs'); require('dotenv').config(); diff --git a/node-cpanel/utils/gridfs.js b/node-cpanel/utils/gridfs.js index 3ac8736..ffd6281 100644 --- a/node-cpanel/utils/gridfs.js +++ b/node-cpanel/utils/gridfs.js @@ -2,6 +2,9 @@ const Grid = require('gridfs-stream'); const mongoose = require('mongoose'); const multer = require('multer'); +const { GridFsStorage } = require('multer-gridfs-storage'); +const { mongoURI } = require('./mongo_db'); +const path = require('path'); let gfs; @@ -21,7 +24,16 @@ const getGFS = () => { return gfs; }; -const storage = multer.memoryStorage(); +const storage = new GridFsStorage({ + url: mongoURI, + file: (req, file) => { + return { + bucketName: 'uploads', // Set the collection name + filename: `${Date.now()}${path.extname(file.originalname)}`, // Set the filename + }; + }, +}); + const uploadMongo = multer({ storage }); module.exports = { diff --git a/node-cpanel/utils/mongo_db.js b/node-cpanel/utils/mongo_db.js index 46c81ef..5f2a565 100644 --- a/node-cpanel/utils/mongo_db.js +++ b/node-cpanel/utils/mongo_db.js @@ -14,4 +14,4 @@ const connectDB = async () => { } }; -module.exports = connectDB; +module.exports = { connectDB, mongoURI };