ホームページ > ウェブフロントエンド > jsチュートリアル > HTML5 キャンバスを画像としてサーバーに保存するにはどうすればよいですか?

HTML5 キャンバスを画像としてサーバーに保存するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 08:36:13
オリジナル
608 人が閲覧しました

How Can I Save an HTML5 Canvas as an Image on a Server?

HTML5 キャンバスを画像としてサーバーに保存する

HTML5 キャンバスを画像としてサーバーに保存するには、次の手順に従います。

1.キャンバスを画像データ URL に変換します

var canvasData = canvas.toDataURL("image/png");
ログイン後にコピー

2. XMLHttpRequest オブジェクトを作成します

var ajax = new XMLHttpRequest();
ログイン後にコピー

3. POST リクエストを開き、リクエスト ヘッダーを設定します

ajax.open("POST", "testSave.php", false);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ログイン後にコピー

4.キャンバスデータの送信

ajax.send("imgData=" + canvasData);
ログイン後にコピー

5.ハンドル応答

ajax.onreadystatechange = function() {
  console.log(ajax.responseText);
}
ログイン後にコピー

6. PHP サーバー上で

キャンバス データを受信し、PNG ファイルとしてサーバーに書き込みます:

<?php
if (!empty($_POST['imgData'])) {
  // Convert base64 data to raw data
  $imgData = base64_decode($_POST['imgData']);

  // Set path and open file
  $fp = fopen('/path/to/file.png', 'wb');

  // Write raw data to file and close
  fwrite($fp, $imgData);
  fclose($fp);
}
?>
ログイン後にコピー

追加メモ:

  • /path/to/file.png を目的のファイルに置き換えます
  • サーバー ディレクトリが書き込み可能であることを確認してください。
  • 必要に応じて、AJAX リクエスト ヘッダーを multipart/form-data に設定することもできます。
  • 画像データ URL の場合標準以外の文字が含まれている場合は、encodeURIComponent() を使用してエスケープしてください。

以上がHTML5 キャンバスを画像としてサーバーに保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート