Vue3 中base64转图片
时间: 2023-08-08 10:09:15 浏览: 550
在 Vue3 中,可以使用以下代码将 base64 编码的字符串转换为图片:
```vue
<template>
<div>
<img :src="imageUrl" alt="Image">
</div>
</template>
<script>
export default {
data() {
return {
base64Str: "data:image/png;base64,iVBORw0KG...QmCC", // base64 编码的字符串
imageUrl: "" // 用于显示图片的 URL
};
},
mounted() {
this.imageUrl = this.base64ToImageUrl(this.base64Str); // 将 base64 转换为图片 URL
},
methods: {
base64ToImageUrl(base64Str) {
let binaryStr = atob(base64Str.split(",")[1]); // 解码 base64 字符串
let len = binaryStr.length;
let bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binaryStr.charCodeAt(i);
}
let blob = new Blob([bytes], { type: "image/png" }); // 创建 Blob 对象
return URL.createObjectURL(blob); // 返回图片 URL
}
}
};
</script>
```
在上面的代码中,`base64Str` 是 base64 编码的字符串,`imageUrl` 是用于显示图片的 URL。在 `mounted` 钩子函数中,调用 `base64ToImageUrl` 方法将 `base64Str` 转换为 `imageUrl`。
`base64ToImageUrl` 方法中,首先使用 `atob` 方法解码 base64 字符串,然后将解码后的字符串转换为字节数组,并使用 `Blob` 对象创建二进制数据块。最后使用 `URL.createObjectURL` 方法将二进制数据块转换为图片 URL,并返回该 URL。
在模板中,可以使用 `img` 标签来显示图片,绑定 `src` 属性为 `imageUrl` 即可。
阅读全文