base64怎么转换成Blob 对象
时间: 2023-06-23 10:10:10 浏览: 102
要将 Base64 编码的数据转换为 Blob 对象,可以使用以下步骤:
1. 将 Base64 编码的字符串转换为 ArrayBuffer 对象。
```
function base64ToArrayBuffer(base64) {
const binaryString = window.atob(base64);
const len = binaryString.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
return bytes.buffer;
}
```
2. 使用 ArrayBuffer 对象创建 Blob 对象。
```
function createBlobFromBase64(base64, mimeType) {
const arrayBuffer = base64ToArrayBuffer(base64);
return new Blob([arrayBuffer], { type: mimeType });
}
```
其中,`base64` 参数是 Base64 编码的字符串,`mimeType` 参数是 Blob 对象的 MIME 类型。返回的对象是一个 Blob 对象。
相关问题
uniapp实现base64转换成blob,并输出blob字符串
可以使用uniapp的`base64ToArrayBuffer`和`Uint8Array`来实现将base64转换成blob,并输出blob字符串。代码示例如下:
```javascript
// 将base64转换成blob
function base64ToBlob(base64) {
const arrayBuffer = uni.base64ToArrayBuffer(base64)
const uint8Array = new Uint8Array(arrayBuffer)
return new Blob([uint8Array], { type: 'application/octet-stream' })
}
// 获取blob字符串
function getBlobString(blob) {
return new Promise(resolve => {
const reader = new FileReader()
reader.readAsDataURL(blob)
reader.onloadend = () => {
resolve(reader.result)
}
})
}
// 使用示例
const base64Str = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAgAElEQVR4Xu3de3RUZf3/8V1ZQr1...'
const blob = base64ToBlob(base64Str)
getBlobString(blob).then(blobStr => {
console.log(blobStr)
})
```
其中,`base64ToBlob`函数接受一个base64字符串作为参数,返回一个blob对象,`getBlobString`函数接受一个blob对象作为参数,返回一个Promise对象,Promise的resolve值为blob对象的字符串表示。你可以将base64字符串替换为你要转换的base64字符串来测试。
ts将base64转成blob
可以使用以下代码将base64转成blob:
```typescript
function base64ToBlob(base64: string): Blob {
const byteString = atob(base64.split(',')[1]);
const mimeString = base64.split(',')[0].split(':')[1].split(';')[0];
const ab = new ArrayBuffer(byteString.length);
const ia = new Uint8Array(ab);
for (let i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], { type: mimeString });
}
```
这个函数接收一个base64字符串作为参数,返回一个blob对象。
阅读全文