Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript convert a Blob object to a string and back

I have to send a Blob as a String and convert it back to an Blob. The method blob.text() returns a promise with it's content as a String. But how can i convert this string back to a blob? I want to convert it into an image data url.

https://developer.mozilla.org/en-US/docs/Web/API/Blob

like image 703
Jadr Avatar asked Feb 18 '26 11:02

Jadr


2 Answers

To convert a string to a blob, you use the new Blob interface:

const blob = new Blob([string], {
  type: 'image/jpeg' // or whatever your Content-Type is
});

See this section of the document you linked to.

If you have a Blob object called blob, blob.type will give its content type. So you could deconstruct and reconstruct it as follows:

const string = await blob.text();
const type = blob.type;
const blob2 = new Blob([string], {type: type});
like image 108
edemaine Avatar answered Feb 20 '26 00:02

edemaine


const base64Data = "dGVRAXXRoZXIUl";

Depending on the format of the base64 string, you might need to prepend content type data. For example, a JPEG image

const base64Return = await fetch(`data:image/jpeg;base64,${base64Data}`);

Then, convert the response to a blob

const blob = await base64Return.blob();

For "text/html" format, for example, you can get the raw text

const text = await base64Return.text();
like image 23
Kundan Singh Avatar answered Feb 20 '26 00:02

Kundan Singh