私の場合、canvasのtoDataURLメソッドでbase64エンコードされたデータ(文字列)を取得し、これをプラグイン(自作)に渡して保存するようにしています。
プラグインでは受け取ったデータをbase64デコードでバイナリに戻してファイルに書き込んでいます。
尚、toDataURLメソッドで得られるデータの先頭には画像データとして不要な情報(pngの場合なら"data:image/png;base64,")が含まれているので、プラグインに渡す前(JavaScript)かプラグイン側でデコードする前に除去する必要があります。