multer express file upload

  1. Install multer and express:
npm install multer express
  1. Require necessary modules:
const express = require('express');
const multer = require('multer');
  1. Create an instance of Express:
const app = express();
  1. Set up the storage engine for multer:
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads/') // Set the destination folder for uploaded files
  },
  filename: function (req, file, cb) {
    cb(null, Date.now() + '-' + file.originalname) // Set the filename for the uploaded file
  }
});

const upload = multer({ storage: storage });
  1. Define a route for handling file uploads:
app.post('/upload', upload.single('file'), (req, res) => {
  res.send('File uploaded successfully'); // Handle the file upload and send a response
});
  1. Start the Express server:
const PORT = 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});
  1. Set up the HTML form for file upload:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>File Upload</title>
</head>
<body>
  <form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <button type="submit">Upload</button>
  </form>
</body>
</html>

Make sure to create a folder named "uploads" in your project directory to store the uploaded files.