[APICloud實用教程]解決APICloud平臺png照片轉base64編碼出錯問題
阿新 • • 發佈:2018-12-01
解決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)); } }); }