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

问题描述 投票:0回答:2

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

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

javascript blob
2个回答
15
投票

要将字符串转换为 blob,请使用

new Blob
接口:

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

请参阅您链接到的文档的这一部分

如果您有一个名为

Blob
blob
对象,则
blob.type
将给出其内容类型。所以你可以按如下方式解构和重建它:

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

1
投票
const base64Data = "dGVRAXXRoZXIUl";

根据 Base64 字符串的格式,您可能需要在前面添加内容类型数据。例如,JPEG 图像

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

然后,将响应转换为 blob

const blob = await base64Return.blob();

以“text/html”格式为例,您可以获得原始文本

const text = await base64Return.text();
© www.soinside.com 2019 - 2024. All rights reserved.