javascript的一些API接口的使用

发布时间 2023-10-29 22:55:05作者: 自由港

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;
        }
在这里 我们可以直接通过 fetch 方法读取 `blob:http://localhost/6f83eed0-ca2e-43c6-a702-c9df537bbf3c` 类似的URL。

btoa 方法

这个方法的作用是讲二进制数据转换成base64的数据。

atob 方法

作用是将Base64编码的字符串转换为二进制数据