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