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

时间:2021-07-06 19:21:59

标签: javascript blob

我必须将 Blob 作为字符串发送并将其转换回 Blob。方法 blob.text() 返回一个承诺,其内容为字符串。但是如何将此字符串转换回 blob?我想将其转换为图像数据 url。

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

2 个答案:

答案 0 :(得分:2)

要将字符串转换为 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});

答案 1 :(得分:0)

$ ll /usr/lib/libstdc++.so.*
lrwxrwxrwx 1 root root      18 Apr 30  2019 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root  739520 Nov 13  2014 /usr/lib/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root      19 Jul  6 08:56 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.25
-rwxr-xr-x 1 root root  934644 Mar 25  2020 /usr/lib/libstdc++.so.6.0.19
-rwxr-xr-x 1 root root 1570176 Jul  6 08:55 /usr/lib/libstdc++.so.6.0.25
$

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

const base64Data = "dGVRAXXRoZXIUl";

然后,将响应转换为 blob

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