JavaScript 利用 Base64 与 Blob 生成图片 URL 的方法

作者:闭包旅人

时间:2026-10-31

浏览:548

本文介绍如何在浏览器中使用 JavaScript 将 Base64 编码字符串转换为 Blob 对象,并通过 URL.createObjectURL 生成指向该对象的临时 URL。通过具体代码示例,展示如何利用 img 标签的 src 属性加载并显示图像,实现前端图片资源的动态处理与展示。

文章目录

有时在网站的图片 src 属性中会看到类似 blob:http://example.com/7c672acb-375c-4a26-9af9-99cb4c77f04d 的地址。这种图片加载方式是如何实现的呢?本文将讲解在浏览器环境中,如何利用 JavaScript 解析 Base64 编码并结合 Blob 对象技术来实现这一过程,以下是具体的实现步骤及相关示例代码。

1. 将 Base64 编码字符串转换为 Blob 对象

利用 atob() 函数将 Base64 编码字符串解码为二进制数据,随后将其封装为 Blob 对象。

// 示例1:将Base64编码字符串转换为Blob对象
const base64 = 'data:image/png;base64,iVBORw0KG...';
const byteCharacters = atob(base64.split(',')[1]);
const byteNumbers = new Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
  byteNumbers[i] = byteCharacters.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
const blob = new Blob([byteArray], { type: 'image/png' });

2. 将 Blob 对象转换为 URL 地址

调用 createObjectURL() 函数,将生成的 Blob 对象转换为一个有效的 URL 地址。

// 示例2:将Blob对象转换为URL地址
const blob = new Blob(['Hello, World!'], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
console.log(url); // 输出blob:http://example.com/7c672acb-375c-4a26-9af9-99cb4c77f04d

3. 使用 URL 地址显示图像

将生成的 URL 地址赋值给 img 标签的 src 属性,即可在浏览器中正常显示图像。

<!-- 示例3:使用URL地址显示图像 -->
<img src="blob:http://example.com/7c672acb-375c-4a26-9af9-99cb4c77f04d" alt="Hello, World!">

综合上述三个步骤,我们便可以在浏览器中完成对 Base64 编码图像的解析与展示。

至此,关于 JavaScript 使用 Base64 编码和 Blob 对象生成图像 URL 地址的介绍到此结束。如需了解更多关于 Js 用 Base64 和 Blob 加密图像 URL 的内容,请搜索本站历史文章或继续浏览下方的相关文章,感谢大家的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章