0

私はPhonegapとJavaにかなり慣れていないので、pngをsdcardに保存しようとしています。私はこの投稿とそこで行われたすべての手順に従っています: Phonegap Plugin:How to convert Base64 String to a PNG image in Android

saveImage メソッドを呼び出すと、「無効なアクション」というアラートのみが表示されますが、その理由がわかりません。この特定のプラグインの経験が豊富な人はいますか?

プラグイン メソッドを呼び出す js コード:

function onDeviceReady(){
    var myCanvas = getCanvas();
    var myBase64 = myCanvas.toDataURL("image/png");
    //console.log(myBase64);
    //Shows how to use optional parameters
    window.plugins.base64ToPNG.saveImage(myBase64, {filename:"inbjudan.png", overwrite: true}, 
    function(result) {
        alert(result);
    }, function(error) {
        alert(error);
    });
}
4

1 に答える 1

0

Base64ToPNG.js を修正します。アクションは「saveImage」にする必要があります。

    Base64ToPNG.prototype.savePDF = function(b64String, params, win, fail) {
        cordovaRef.exec(win, fail, "Base64ToPDF", "saveImage", [b64String, params]);
    };

そしてプラグインは Base64ToPNG.java にエラーがあります これを変更してください

    String b64String = "";
    if (b64String.startsWith("data:image")) {
        b64String = args.getString(0).substring(21);
    } else {
        b64String = args.getString(0);
    }

為に

    String b64String = "";
    if (args.getString(0).startsWith("data:image")) {
        b64String = args.getString(0).substring(22);
    } else {
        b64String = args.getString(0);
    }

これで、プラグインは文字列を正しくフォーマットするはずです。

于 2013-06-05T11:08:21.773 に答える