storage: multer.memoryStorage(), what happens to the uploaded file data?const multer = require('multer'); const upload = multer({ storage: multer.memoryStorage() }); app.post('/upload', upload.single('file'), (req, res) => { console.log(req.file.buffer); res.send('File received'); });
When using multer.memoryStorage(), multer stores the uploaded file data in RAM as a Buffer. This buffer is accessible in req.file.buffer. No file is saved on disk.
storage: multer.diskStorage(), what is true about the uploaded files?const multer = require('multer'); const storage = multer.diskStorage({ destination: (req, file, cb) => cb(null, './uploads'), filename: (req, file, cb) => cb(null, file.originalname) }); const upload = multer({ storage }); app.post('/upload', upload.single('file'), (req, res) => { console.log(req.file.path); res.send('File saved to disk'); });
Using multer.diskStorage() saves the uploaded file physically on disk in the specified folder. The file path is available in req.file.path.
const multer = require('multer'); const upload = multer({ storage: multer.memoryStorage() }); app.post('/upload', upload.single('file'), (req, res) => { // Access file data here });
When using memoryStorage, req.file.path is undefined because the file is not saved on disk. Accessing it causes a runtime error.
memoryStorage keeps the entire file in RAM, increasing memory usage. diskStorage writes files to disk, reducing RAM usage but using disk space.
If the destination folder does not exist or the server lacks permission to write there, multer cannot save files, causing silent failures.
