次のような方法を使用して、AJAX でキャンバス画像をサーバーにアップロードしています。
myCanvas.toBlob( function( blob ) {
var fdata = new FormData( );
fdata.append( 'myFile', blob );
$.ajax( {
url: 'http://myScript.foo',
type: 'POST',
data: fdata,
processData: false,
contentType: false
} );
}, 'image/jpeg', 0.9 );
( https://stackoverflow.com/a/8244082/1180785に感謝します)
しかし、モジラによれば、
toBlob
Blob
[…]キャンバスに含まれる画像を表すオブジェクトを返します。このファイルは、ユーザー エージェントの裁量で、ディスクにキャッシュされるか、メモリに保存されます。
( https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement )
私のプログラムにとって、画像が保持されないことは非常に重要です (制限としてではなく、プライバシー上の懸念として)。したがって、このキャッシュされた可能性のあるコピーが削除されるという保証があるかどうか、またいつ削除されるかを知る必要があります。また、削除取り消しプログラムがそれを見つける潜在的なリスクもあるため、データを上書きするか、別の方法で安全に削除できるかどうかを知りたい.
ローカルにキャッシュされたコピーを危険にさらすことなく同じ結果を得ることができれば、さらに良いでしょう。可能であれば、暗号化もオプションです。
私は最新のブラウザーのみに関心があり、getUserMedia
具体的にサポートしているため、IE はありません (メモリ内のすべてを処理する古いブラウザー用の Flash フォールバックがあります)。