Send Image to Server and Store Base64 in MongoDB with in Javascript

When it comes to sending an image to a server and storing its Base64 representation in MongoDB using in Javascript, there are a few steps that need to be followed.

First, we need to convert the image file to Base64 format using FileReader API. Once we have the Base64 representation, we can send it to the server using method.

To achieve this, we can use the following code snippet:

// read the image file
const file = document.querySelector('#image').files[0];

// create a new FileReader object
const reader = new FileReader();

// read the file as Base64

// once the file is loaded, send it to the server
reader.onload = function () {
  // get the Base64 representation of the image
  const base64Image = reader.result.split(',')[1];

  // send the Base64 image to the server using
  const data = { image: base64Image };

  // replace the URL with your server endpoint
  const url = '';

  // send the data to the server
  fetch(url, {
    method: 'POST',
    body: JSON.stringify(data),
    headers: {
      'Content-Type': 'application/json'
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

Once the image is sent to the server, we can store its Base64 representation in MongoDB using a package like mongoose. We can define a schema for our data and use the model to save the data to the database.

Here's an example of how to define a schema and save the data to MongoDB:

const mongoose = require('mongoose');

// define the schema
const imageSchema = new mongoose.Schema({
  data: { type: String, required: true }

// create the model
const Image = mongoose.model('Image', imageSchema);

// save the data to MongoDB
const imageData = new Image({ data: base64Image }); => {
  if (err) {
  } else {
    console.log('Image data saved');

By following these steps, we can easily send an image to a server and store its Base64 representation in MongoDB using in Javascript.

Click to rate this post!
[Total: 0 Average: 0]

Related posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Go up

Below we inform you of the use we make of the data we collect while browsing our pages. You can change your preferences at any time by accessing the link to the Privacy Area that you will find at the bottom of our main page. More Information