๐Ÿ“ File Uploads with Multer in Node.js

๐Ÿ“Œ What is Multer?

Multer in detail

Multer is a middleware used to handle multipart/form-data, which is primarily used for uploading files. It is written on top of the busboy library and integrates easily with Express.js.

๐ŸŽฏ Why Use Multer?

โš™๏ธ How to Use Multer?

Follow these steps:

  1. Install using npm install multer
  2. Configure storage with multer.diskStorage()
  3. Set up an Express route to handle file uploads

๐Ÿ•’ When to Use Multer?

When you need to accept and store files sent via an HTML form or an API request (like image uploads in a profile form or documents in a resume upload form).

๐Ÿงช Example Code

// server.js
const express = require('express');
const multer = require('multer');
const path = require('path');

const app = express();

// Storage configuration
const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, 'uploads/'); // Upload folder
  },
  filename: (req, file, cb) => {
    cb(null, Date.now() + path.extname(file.originalname)); // Rename with timestamp
  }
});

// Multer middleware
const upload = multer({ storage: storage });

// POST Route
app.post('/upload', upload.single('file'), (req, res) => {
  res.send('File uploaded successfully!');
});

app.listen(5000, () => {
  console.log('Server running on http://localhost:5000');
});

๐ŸŒ Frontend HTML Form

<form action="/upload" method="POST" enctype="multipart/form-data">
  <input type="file" name="file" />
  <button type="submit">Upload</button>
</form>

๐Ÿ“š References