Loading

Quipoin Menu

Learn • Practice • Grow

express-js / express-js - interview
interview

Q1. How do you handle file uploads in Express?
Use multer middleware. Install multer, configure storage (disk or memory), and use it in routes. Example: const upload = multer({ dest: 'uploads/' }); app.post('/upload', upload.single('file'), (req, res) => { console.log(req.file); });

Q2. What are the different ways to configure multer storage?
DiskStorage saves files to disk with control over filename/destination. MemoryStorage keeps file in memory as buffer (useful for cloud uploads). You can also create custom storage engines. Example: multer.diskStorage({ destination: ..., filename: ... })

Q3. How do you validate uploaded files?
Use multer's fileFilter option to check file type. Example: fileFilter: (req, file, cb) => { if (file.mimetype.startsWith('image/')) cb(null, true); else cb(new Error('Only images allowed'), false); }. Also check file size with limits.

Q4. How do you handle multiple file uploads?
Use upload.array('files', maxCount) for multiple files with same field name, or upload.fields([{ name: 'avatar', maxCount: 1 }, { name: 'gallery', maxCount: 8 }]) for different fields. Files are available in req.files.

Q5. What security considerations for file uploads?
Validate file types (don't rely on extension alone), scan for malware, limit file size, store files outside the webroot or with random names, and set proper permissions. Consider using cloud storage (S3) for production.