Create a file upload service with validation, storage, and retrieval capabilities
Build a robust file upload service that handles file validation, storage, and provides APIs for uploading and retrieving files with support for multiple file types.
const multer = require('multer');
const upload = multer({
dest: 'uploads/',
limits: { fileSize: 5 * 1024 * 1024 },
fileFilter: (req, file, cb) => {
const allowedTypes = /jpeg|jpg|png|gif|pdf/;
cb(null, allowedTypes.test(file.mimetype));
}
});
app.post('/upload', upload.single('file'), (req, res) => {
res.json({ fileId: req.file.filename, url: `/files/${req.file.filename}` });
});