const multer = require('multer') const path = require('path') const fs = require('fs') const uploadsDir = path.join(__dirname, '..', 'public', 'uploads') if (!fs.existsSync(uploadsDir)) { fs.mkdirSync(uploadsDir, { recursive: true }) } const storage = multer.diskStorage({ destination: (_req, _file, cb) => { cb(null, uploadsDir) }, filename: (_req, file, cb) => { const timestamp = Date.now() const random = Math.round(Math.random() * 1e9) const ext = path.extname(file.originalname) || '.bin' cb(null, `${timestamp}-${random}${ext}`) } }) function fileFilter(_req, file, cb) { if (file.mimetype.startsWith('image/')) { cb(null, true) } else { cb(new Error('Only image uploads are allowed')) } } const upload = multer({ storage, fileFilter, limits: { fileSize: 5 * 1024 * 1024 // 5MB per file } }) module.exports = { upload, uploadsDir }