vue3+ts使base64转blob
时间: 2024-08-27 10:03:36 浏览: 121
在Vue 3和TypeScript环境中,将Base64编码的字符串转换为Blob对象可以通过以下步骤实现:
1. 首先,你需要一个Base64编码的字符串,它通常包含一个数据URI前缀,例如`data:image/png;base64,`,需要将其去除以便获取纯Base64字符串。
2. 然后,你可以使用TypeScript中的`Buffer`类(或者在浏览器中使用`atob`函数)将Base64字符串解码成二进制字符串。
3. 最后,使用`Blob`构造函数将二进制字符串转换为Blob对象。
下面是一个示例代码,展示了如何实现这个转换过程:
```typescript
function base64StringToBlob(base64String: string): Blob {
// 移除Base64字符串前缀
const纯base64字符串 = base64String.split('base64,')[1];
// 将Base64字符串转换为二进制字符串
const binaryString = atob(纯base64字符串);
// 计算二进制数据的长度
const len = binaryString.length;
// 创建一个数组用于存放二进制数据
const uintArray = new Uint8Array(len);
// 将二进制字符串填充到uint8Array中
for (let i = 0; i < len; i++) {
uintArray[i] = binaryString.charCodeAt(i);
}
// 使用uint8Array创建Blob对象
return new Blob([uintArray], { type: 'image/png' });
}
```
需要注意的是,上面的代码假设Base64字符串代表的是PNG图片,`type`属性被设置为`image/png`。如果你要处理的图片格式不同,应该相应地修改`type`属性。
阅读全文