Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js base64转blob

作者:孤独的角落   发布日期:2026-04-10   浏览:52

// 将Base64字符串转换为Blob对象的示例代码

function base64ToBlob(base64, mime) {
    // 去掉base64字符串前面的"data:xxx/xxx;base64,"部分
    let base64String = base64.split(',')[1];

    // 解码base64字符串
    let byteString = atob(base64String);

    // 创建一个数组来存储字节数据
    let arrayBuffer = new ArrayBuffer(byteString.length);
    let intArray = new Uint8Array(arrayBuffer);

    // 将每个字符转换为字节并存储到数组中
    for (let i = 0; i < byteString.length; i++) {
        intArray[i] = byteString.charCodeAt(i);
    }

    // 返回Blob对象
    return new Blob([intArray], { type: mime });
}

// 示例使用
let base64String = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...";
let blob = base64ToBlob(base64String, 'image/png');

console.log(blob); // 输出Blob对象

解释说明:

  1. 去掉前缀base64.split(',')[1] 用于去掉Base64字符串中的 data:xxx/xxx;base64, 部分,只保留实际的Base64编码内容。
  2. 解码Base64atob(base64String) 将Base64编码的字符串解码为原始的二进制字符串。
  3. 创建字节数组new ArrayBuffer(byteString.length)new Uint8Array(arrayBuffer) 创建一个字节数组来存储解码后的数据。
  4. 转换为字节:通过遍历解码后的字符串,将每个字符转换为对应的字节,并存储到字节数组中。
  5. 创建Blob对象:最后使用 new Blob([intArray], { type: mime }) 创建一个Blob对象,其中 mime 是文件的MIME类型(如 image/png)。

上一篇:js json序列化

下一篇:js blob转base64

大家都在看

js 数组打乱顺序

js 两个数组取交集

js 数组对象排序

js 对象数组排序

js 数组删掉第一个值

js fill

js 数组连接

js json数组

js 数组复制

js 复制数组

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站