vue实现base64转Blob
时间: 2023-02-08 20:53:17 浏览: 389
vue前端解析word,pdf,exl,图片,视频等文件预览,支持base64格式文件转Blob流 预览源代码.zip
在Vue中,可以使用JavaScript中的File API和Blob对象来实现base64转Blob。
具体步骤如下:
1. 将base64字符串解码为Uint8Array类型的二进制数据
```
const bytes = window.atob(base64.split(',')[1])
const array = new Uint8Array(bytes.length)
for (let i = 0; i < bytes.length; i++) {
array[i] = bytes.charCodeAt(i)
}
```
2. 使用new Blob()函数创建Blob对象
```
const blob = new Blob([array], { type: 'application/octet-stream' })
```
3. 你也可以使用npm库blob-util 这个库也可以实现base64转blob
```
import { base64StringToBlob } from 'blob-util'
const blob = base64StringToBlob(base64, 'application/octet-stream')
```
完整的示例代码如下:
```
export default {
methods: {
async handleClick() {
const base64 = 'data:application/octet-stream;base64,YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4'
const blob = await this.base64ToBlob(base64)
// 使用blob对象
},
base64ToBlob(base64) {
const bytes = window.atob(base64.split(',')[1])
const array = new Uint8Array(bytes.length)
for (let i = 0; i < bytes.length; i++) {
array[i] = bytes.charCodeAt(i)
}
return new Blob([array], { type: 'application/octet-stream' })
}
}
}
```
请注意,如果要在IE浏览器中使用Blob对象,需要使用polyfill库。
阅读全文