uniap中图片base64转blob
时间: 2025-02-21 18:25:00 浏览: 13
实现 Base64 图片到 Blob 的转换
在 UniApp 中,可以通过多种方式将 Base64 编码的图片转换为 Blob 对象。以下是具体的方法:
方法一:使用 uni.base64ToArrayBuffer
和 new Blob
通过调用 uni.base64ToArrayBuffer()
函数可将 Base64 字符串转化为 ArrayBuffer 格式的数据,再利用此数据构建新的 Blob 对象。
function base64ToBlob(base64Str) {
let arrayBuffer = uni.base64ToArrayBuffer(base64Str.split(',')[1]);
return new Blob([arrayBuffer], { type: 'image/png' });
}
这种方法适用于处理标准格式的 Base64 数据字符串[^2]。
方法二:直接解析 Base64 并创建 Blob
另一种更通用的方式是手动解析 Base64 字符串中的元数据部分以及实际的内容部分,并据此生成对应的 Blob 对象。
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {type:mime});
}
这段代码能够兼容不同 MIME 类型的图像资源,不仅限于 PNG 文件[^1]。
以上两种方案都可以有效地完成从 Base64 到 Blob 的转变过程,在实际应用中可根据需求选择合适的方式来实现功能目标。
相关推荐

















