Performance: Multer middleware setup
MEDIUM IMPACT
This affects the server-side processing speed and the time before the server can respond to file upload requests.
const multer = require('multer'); const storage = multer.diskStorage({ destination: (req, file, cb) => cb(null, 'uploads/'), filename: (req, file, cb) => cb(null, Date.now() + '-' + file.originalname) }); const upload = multer({ storage: storage, limits: { fileSize: 5 * 1024 * 1024 }, // 5MB limit fileFilter: (req, file, cb) => { if (file.mimetype.startsWith('image/')) cb(null, true); else cb(new Error('Only images allowed'), false); } }); app.post('/upload', upload.single('file'), (req, res) => { res.send('File uploaded safely'); });
const multer = require('multer'); const upload = multer({ dest: 'uploads/' }); app.post('/upload', upload.single('file'), (req, res) => { // process file res.send('File uploaded'); });
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Default Multer with no limits | N/A (server-side) | N/A | N/A | [X] Bad |
| Multer with file size/type limits | N/A (server-side) | N/A | N/A | [OK] Good |