ここでちょっと立ち往生しています。canvas.toDataURL を使用して base64 でエンコードされた文字列を生成し、サーバー上の従来の ASP ページに渡すことができることを知っています。しかし、答えが見つからないように見える問題は、このデータを処理してサーバーのどこかに保存できるようにする方法です。
したがって、HTML ページのこのコード スニペットを使用して、キャンバス データを取得します (これは StackOverflow の別の投稿から取得しました)。
var dataURL = renderedCanvas.toDataURL("image/png");
dataURL = dataURL.replace('data:image/png;base64,', '');
var areturn = $.ajax({
url: "http://127.0.0.1/mySite/saveImage.asp",
type: "POST",
data: '{ "imageData" : "' + dataURL + '" }',
dataType: "json",
beforeSend: function(x) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
}).done(function(result) {
console.log("Success Done!\n" + result);
}).always(function(data) {
console.log("Always:\n" + data.responseText);
});
しかし、サーバー側にいるときにデータをどうするかはわかりません... Request.Form 要素を取得できますが、それを base64 でデコードする良い方法を見つけることができないようです。バイナリファイルとして出力することさえできます...古典的なASPはbase64デコードを行うのが得意ではないと聞いたことがあると思います.別のテストで、base64デコードを行う関数を見つけましたが、わかりませんでした.実際に機能した場合でも、実行に長い時間がかかりました。私はまた、このリンクを見つけました: ASPクラシックのbase64イメージデコーダーですが、これはMicrosoftが使用を推奨していない32ビットコンポーネントだと思います...html5キャンバスの保存に関する提案については、ここのコミュニティを探していると思いますイメージをサーバーに。