📅  最后修改于: 2023-12-03 15:20:42.901000             🧑  作者: Mango
在 TypeScript 中将 Blob 对象转换为 Base64 字符串可以通过以下步骤进行操作:
/**
* 将 Blob 对象转换为 Base64 字符串
* @param blob - 要转换的 Blob 对象
* @returns Promise<Base64 字符串>
*/
function blobToBase64(blob: Blob): Promise<string> {
return new Promise<string>((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => {
const base64String = reader.result as string;
resolve(base64String.split(",")[1]);
};
reader.onerror = reject;
reader.readAsDataURL(blob);
});
}
上述代码中,我们定义了一个名为 blobToBase64
的函数。该函数接收一个 Blob 对象作为参数,并返回一个 Promise 对象,该 Promise 对象将解析为包含 Blob 对象对应的 Base64 字符串。
在函数内部,我们使用 FileReader
对象将 Blob 对象转换为 Data URL。读取完成后,我们从 Data URL 中提取出 Base64 字符串,并将其返回。
使用示例:
const imageBlob = new Blob(["Hello, World!"], { type: "text/plain" });
blobToBase64(imageBlob)
.then((base64String) => {
console.log("Base64 String:", base64String);
})
.catch((error) => {
console.error("Error:", error);
});
以上示例创建了一个包含文本内容的 Blob 对象,并将其传递给 blobToBase64
函数。然后,通过 .then()
方法获取解析后的 Base64 字符串。如果出现错误,则通过 .catch()
方法捕获和处理错误信息。
请注意,在使用这个函数时需要注意以下几点:
希望以上内容能够帮助你将 Blob 对象转换为 Base64 字符串。