ページにwebcam streamを表示するvideo 要素があります。次に、スナップショットを取得してキャンバスに画像を表示する関数を備えたキャンバスがあります。次に、このキャンバス イメージをサーバーに送信し、PHP でファイルに保存する必要があります。さまざまなチュートリアルをオンラインで組み合わせて、以下のコードになりましたが、サーバーフォルダーに保存されている画像は空白であるため、PHPファイルが表示するデータを適切に受け取っていないと思います...できれば助けてください: )ポスト変数を送信しないJquery + AJAXのみが問題です...コードは次のとおりです。
var int=self.setInterval(function(){snapshot()},2000);
function snapshot() {
// Draws current image from the video element into the canvas
ctx.drawImage(output, 0,0, canvas.width, canvas.height);
var dataURL = canvas.toDataURL();
dataURL = dataURL.replace('data:image/png;base64,','');
$.ajax({
type: 'POST',
url: 'onlinewebcams.php',
data: postData,
contentType: 'application/json'
});
}
そして、別のPHPファイルがありますが、POSTされた画像を保存する同じページに含まれています(動作しません):
PHPファイルのコードは次のとおりです。
sleep(5); // wait 5 seconds
define('UPLOAD_DIR', 'allwebcams/');
$img = $_POST['dataURL'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR .uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';