// 将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对象
base64.split(',')[1] 用于去掉Base64字符串中的 data:xxx/xxx;base64, 部分,只保留实际的Base64编码内容。atob(base64String) 将Base64编码的字符串解码为原始的二进制字符串。new ArrayBuffer(byteString.length) 和 new Uint8Array(arrayBuffer) 创建一个字节数组来存储解码后的数据。new Blob([intArray], { type: mime }) 创建一个Blob对象,其中 mime 是文件的MIME类型(如 image/png)。上一篇:js json序列化
下一篇:js blob转base64
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站