2013-03-28 2 views
0

Я довольно новичок в телефоне и Java и пытаюсь сохранить png на SD-карте. Я после этого поста, и все шаги там: Phonegap Plugin:How to convert Base64 String to a PNG image in AndroidBase64 to PNG в Android Phonegap плагин ERROR

Когда я вызываю метод saveImage я только получаю предупреждение: «Invalid акции» , и я не знаю, почему, кто имеет больше опыта с этим конкретным плагином?

, ИС-код, который вызывает метод плагина:

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); 
    }); 
} 
+0

Я не знаю, что PhoneGap не может вам помочь, но я просто предупредил вас, что преобразование в base64 не является надежным для чего-то большего, чем несколько MB. Достойное изображение камеры размером 5 ~ 10 мб уже может привести к ошибкам памяти. –

+0

Я использую холст, чтобы собрать 3 png размером с открытку (420x298 px) или меньше с некоторым текстом, поэтому я не думаю, что размер результата будет проблемой – Omorose

ответ

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); 
    } 

Теперь плагин должен правильно отформатировать строку.

Смежные вопросы