In this article, we'll learn that how can we download images from a remote URL. After downloading the image, we will encode it in base64 format.
original post
const { Buffer } = require("buffer");
const axios = require("axios");
let url = "https://res.cloudinary.com/practicaldev/image/fetch/s--nh8zSFgY--/c_fill,f_auto,fl_progressive,h_320,q_auto,w_320/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/285604/94170c66-2590-4002-90e0-ec4dc94ed7b5.png";
async function downloadImage(url){
try{
// download the raw image file
const raw = await axios.get(url, {
responseType: "arraybuffer",
})
// create a base64 encoded string
let base64 = Buffer.from(raw.data, "binary").toString("base64");
// create image src
let image = `data:${raw.headers["content-type"]};base64,${base64}`;
// actual image
let imgFile = `<img src="${image}"/>`;
}catch(e){
console.log(e);
}
}
Top comments (0)