We will learn how to upload Node js Express Image using Multer Example

Step 1: 

Create Node App 

mkdir my-app

cd my-app

npm init

Step 2: 

Install express and multer 

npm install express multer --save

Step 3: 

Create app.js file app.js

const express = require('express');
const multer = require('multer');
const path = require('path');
const app = express();
const storage = multer.diskStorage({
    destination: function(req, file, cb) {
        cb(null, 'uploads/');
    filename: function(req, file, cb) {
        cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname));
var upload = multer({ storage: storage })
app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
app.post('/', upload.single('file-to-upload'), (req, res) => {

Step 4: 

Create index.html file index.html

<!DOCTYPE html>
<html lang="en">
    <title>Node js Express File Upload using Multer Example - rathorji.in</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <h1>Node js Express File Upload using Multer Example - rathorji.in</h1>
    <form action="/" enctype="multipart/form-data" method="post">
      <input type="file" name="file-to-upload">
      <input type="submit" value="Upload">

now you can simply run by following command:

npm start

open following url:


I hope this example will help you