解决APICloud平台png照片转base64编码失败问题
- 问题描述
在使用trans模块decodeImgToBase64函数时发现转换出来的编码上传的时候,无法正确显示。当我把转换出来的编码放在在线base64转照片的时候,提示编码错误,当我对比其他base64编码时发现trans模块decodeImgToBase64少了
data:image/png;base64,
这个开头。
- 解决方法
其实很简单,就是问题很难找出来,在结果处添加“data:image/png;base64,”字符串。
Base64Data = "data:image/png;base64," + ret.base64Str;
- 完整代码
function fnOpenDraw() {
drawingBoard.open({
rect: {
x: 10,
y: 120,
w: api.winWidth - 20,
h: 360
},
styles: {
brush: {
color: '#00f',
width: 6
},
bgColor: '#fafff0'
},
fixedOn: api.frameName
});
}
function fnSaveDraw() {
drawingBoard.save({
savePath: 'fs://drawingBoard/result.png',
copyToAlbum: false,
overlay: true
}, function(ret) {
console.log(JSON.stringify(ret));
convert2Base(ret.absolutePath);
});
}
function fnClearDraw() {
drawingBoard.clear();
}
function convert2Base(photoPath) {
var trans = api.require('trans');
trans.decodeImgToBase64({
imgPath: photoPath
}, function(ret, err) {
if (ret.status) {
console.log((ret.base64Str));
//alert(ret.base64Str);
Base64Data = "data:image/png;base64," + ret.base64Str;
Base64DataOK = true;
} else {
console.log(JSON.stringify(ret));
}
});
}