Categories
JavaScript Answers

How to convert Base64 string to JavaScript file object like as from file input form?

Spread the love

Sometimes, we want to convert Base64 string to JavaScript file object like as from file input form.

In this article, we’ll look at how to convert Base64 string to JavaScript file object like as from file input form.

How to convert Base64 string to JavaScript file object like as from file input form?

To convert Base64 string to JavaScript file object like as from file input form, we can use fetch.

For instance, we write

const urlToFile = async (url, filename, mimeType) => {
  const res = await fetch(url);
  const buf = await res.arrayBuffer();
  return new File([buf], filename, { type: mimeType });
};

(async () => {
  const file = await urltoFile(
    "data:text/plain;base64,aGVsbG8gd29ybGQ=",
    "hello.txt",
    "text/plain"
  );
  console.log(file);
})();

to define the urlToFile function that calls fetch with the url to return a promise with the res response object.

Then we call res.arrayBuffer to get the response as an array buffer.

Next, we create a File object with the buf buffer with the given mimeType and return that as the resolve value of the promise returned by urlToFile.

Then we call urlToFile with the base64 URL, file name, and the MIME type of the file to return a promise with the file.

Conclusion

To convert Base64 string to JavaScript file object like as from file input form, we can use fetch.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

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