2012-03-23 7 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'); 
} 

ライン:期待と私のbase64文字列を私に戻って与えるので

Signaturebase64 = cb_canvas.toDataURL(); 

作品。

私が今やってみたいのは、それを電話機の永続ストレージのイメージファイルに変換することです。

次の行は、ストレージにbase64文字列を書いたが、私はそれがやりたいことは代わりにPNGファイルとして保存されている。

writer.write(filedata); 
+0

base64文字列が単にエンコードされた画像データである場合は、それをデコードしてイメージ拡張子を持つファイルに書き込んでください。 –

答えて

0

バイナリデータを書き込むためにPhoneGap FileWriterを使用することはできません。あなたは、Base64でエンコードされたデータをネイティブ側に送信し、バイナリにエンコードし、ネイティブコードを使用して書き込むプラグインを作成する必要があります。

+0

返信いただきありがとうございます。このようなことのためのリンクやチュートリアルはありますか? – Seany84

+0

プラグインに関する情報は、http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Pluginsで確認してください。電話機のソースコードを見てファイルライターの仕組みを見て、コードを追加できます書き込む前にbase64のデコードを行う。 –

+0

おかげさまでサイモン、私は月曜日にこれでどのように乗っていくのか教えてくれます。 – Seany84

関連する問題