uniapp base64转png图片
时间: 2023-06-29 08:02:31 浏览: 103
好的,您可以使用uniapp自带的base64转换API,例如:
```
// 将base64转换为文件,并返回文件路径
function base64ToImg(base64Str) {
const filePath = `${uni.env.USER_DATA_PATH}/temp-image.png`
const arrayBuffer = uni.base64ToArrayBuffer(base64Str)
const fs = uni.getFileSystemManager()
fs.writeFileSync(filePath, arrayBuffer, 'binary')
return filePath
}
```
其中,`uni.env.USER_DATA_PATH`是uniapp提供的一个路径,用于保存临时文件。使用该函数即可将base64字符串转换为PNG格式图片,并返回文件路径。
相关问题
uniapp base64转png
在uniapp中,可以使用uni.base64ToArrayBuffer方法将base64编码的图片转换成ArrayBuffer类型的数据,然后利用canvas将该数据绘制成图片并保存为png格式。
以下是一个示例代码:
```javascript
// 将base64编码的图片转换为ArrayBuffer类型的数据
function base64ToArrayBuffer(base64) {
var binaryString = atob(base64);
var len = binaryString.length;
var bytes = new Uint8Array(len);
for (var i = 0; i < len; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
return bytes.buffer;
}
// 将ArrayBuffer类型的数据绘制成图片并保存为png格式
function saveBase64ToPng(base64) {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
canvas.toBlob(function(blob) {
uni.saveImageToPhotosAlbum({
filePath: blob,
success: function() {
uni.showToast({
title: '保存成功',
icon: 'none'
});
},
fail: function() {
uni.showToast({
title: '保存失败',
icon: 'none'
});
}
});
}, 'image/png');
};
img.src = 'data:image/png;base64,' + base64;
}
// 调用示例
var base64 = 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAtSURBVHgB7dHBDQAgCAPRg8n+/4QYxgqjRiRj2QHKB2wZJ5yggRfVfL3Mm8qPrVvOx1L1sGv5qP7q2VxQAAAAASUVORK5CYII=';
var arrayBuffer = base64ToArrayBuffer(base64);
saveBase64ToPng(arrayBuffer);
```
注意:在使用uni.saveImageToPhotosAlbum方法保存图片时,需要用户授权。
uniapp base64转图片
Uniapp是一款跨平台的开发工具,可以使开发者将同一份代码应用于多个平台,如Android、iOS、Web等。在Uniapp中,我们可以使用一些插件或API来实现将Base64编码的图片转换为图片文件的方法。下面是其中一种方法的具体实现过程:
1. 安装插件
在Uniapp插件市场中搜索并安装“base64转图片”插件。
2. 引用插件
在需要使用插件的页面中引用插件:
```
<template>
<view>
<!--其他代码-->
</view>
</template>
<script>
import b64toBlob from '@/uni_modules/base64-to-blob/js_sdk/base64-to-blob.js';
export default {
data() {
return {
//其他数据
}
},
methods: {
//其他方法
}
}
</script>
```
3. 实现转换
接下来通过Base64编码的字符串转化成Blob对象,然后利用URL.createObjectURL()方法生成可访问的图片地址。
```
let blob = b64toBlob(base64Str, 'image/png');
let imgUrl = URL.createObjectURL(blob);
```
其中,base64Str是需要转换的Base64编码的图片字符串。在此之后,我们就可以通过引用imgUrl来显示图片了。
虽然以上只是其中一种方法,但基本上涵盖了所有将Base64编码的图片转换成图片文件的方式。需要注意的是,在实际应用中,我们还需要考虑出错处理与兼容性问题。