Javascript 将 Blob 对象转换为字符串并返回

Javascript convert a Blob object to an string and back

我必须将 Blob 作为字符串发送并将其转换回 Blob。方法 blob.text() returns 一个承诺,它的内容是一个字符串。但是我怎样才能将这个字符串转换回一个 blob?我想把它转换成图像数据 url.

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

const base64Data = "dGVRAXXRoZXIUl";

根据 base64 字符串的格式,您可能需要预先添加内容类型数据。例如,一张 JPEG 图片

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

然后,将响应转换为 blob

const blob = await base64Return.blob();

要将字符串转换为 blob,请使用 new Blob 接口:

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

参见 this section of the document you linked to

如果您有一个名为 blobBlob 对象,blob.type 将提供其内容类型。所以你可以解构和重建它如下:

const string = await blob.text();
const type = blob.type;
const blob2 = new Blob([string], {type: type});