1.blob http URL
在编辑器中,有的情况下插入图片,会讲图片转成 blob:http://localhost/*** 的这种形式。这种形式的URL实际数据是存放在浏览器的内存中。
这种情况下如何读取这个URL的具体内容呢
点击查看代码
async readStreamAndEncodeBase64(url) {
// 发送请求并获取响应
const response = await fetch(url);
// 获取响应体的读取器
const reader = response.body.getReader();
// 创建一个用于存储Base64编码的字符串的变量
let base64Data = '';
// 读取数据流中的数据块
while (true) {
const { done, value } = await reader.read();
// 如果数据块读取完毕,退出循环
if (done) {
break;
}
// 将数据块转换为Base64编码的字符串,并添加到base64Data变量中
base64Data += btoa(String.fromCharCode.apply(null, new Uint8Array(value)));
}
// 返回Base64编码的字符串
return base64Data;
}
btoa 方法
这个方法的作用是讲二进制数据转换成base64的数据。
atob 方法
作用是将Base64编码的字符串转换为二进制数据