[APICloudユーティリティチュートリアル]APICloudプラットフォームpng写真転送base 64符号化エラーの問題を解決

1841 ワード

APICloudプラットフォームpng写真転送base 64の符号化に失敗した問題を解決する

  • 問題説明
  • transモジュールdecodeImgToBase 64関数を使用して変換された符号化アップロードを発見した場合、正しく表示できません.変換された符号化をオンラインbase 64に置いて写真を転送すると、符号化エラーを提示し、他のbase 64符号化と比較するとtransモジュールdecodeImgToBase 64が少なくなったことに気づいた.
    data:image/png;base64,
    

    この冒頭.
  • 解決方法
  • 実は簡単ですが、問題が見つからず、結果に「data:image/png;base 64」文字列を追加します.
    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));
                }
            });
        }