2012-03-23 112 views
2

我想使用下面的方法將base64編碼的字符串轉換爲圖像對象。從Base64字符串轉換爲PNG文件

function gotFileWriter(writer) { 
    console.log('Starting gotFileWriter'); 
    writer.onwrite = function (evt) { 
     console.log("write success"); 
    }; 

    $.mobile.showPageLoadingMsg(); 
    //  console.log('height: ' + cb_canvas.height); 
    //  console.log('width: ' + cb_canvas.width); 
    Signaturebase64 = cb_canvas.toDataURL(); 

    //I need to save the base64 string to a PNG image on the Phone here. 
    writer.write(Signaturebase64); 

    $.mobile.hidePageLoadingMsg(); 
    $.mobile.changePage("#MyJob"); 
    console.log('Finished gotFileWriter'); 
} 

行:

Signaturebase64 = cb_canvas.toDataURL(); 

按預期工作,給我帶回我的base64字符串。

我現在想要做的是將其轉換爲手機永久存儲器上的映像文件。

下面的行書寫以base64字符串存儲,但我希望它做的是將其保存爲PNG文件,而不是:

writer.write(filedata); 
+0

如果base64字符串只是編碼的圖像數據,只需對其進行解碼並將其寫入具有圖像擴展名的文件即可。 – 2012-03-23 14:17:14

回答

0

您不能使用PhoneGap FileWriter寫入二進制數據。您需要編寫一個插件將base64編碼數據發送到本地端,將其編碼爲二進制文件,然後使用本機代碼編寫它。

+0

感謝您的回覆。你有任何這樣的鏈接或教程? – Seany84 2012-03-23 15:05:35

+0

查看插件信息:http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins也看看phonegap的源代碼,看看我們如何做文件編寫器,你可以添加一些代碼在寫之前先做base64解碼。 – 2012-03-23 16:39:35

+0

謝謝西蒙,我會在星期一告訴你我是如何繼續這樣做的。 – Seany84 2012-03-23 20:15:50

相關問題