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 回答