FlashとjQueryを組み合わせたプラグインでWebカメラで撮影した画像をアップロード
2024/01/13
FlashとjQueryを組み合わせたプラグインを用いてWebカメラで撮影した画像をフォーム等でアップロードする方法のメモ。jQuery webcam pluginというのがswfも同梱されてて非常に便利だった。
jQuery webcam plugin
http://www.xarg.org/project/jquery-webcam-plugin/
使い方
撮影ページ
<?php $id = md5(uniqid(rand(), true)); ?> <!DOCTYPE html> <html> <head> </head> <body> <div id="jquery_camera"></div> <button id="btn">キャプチャ</button> </div> <?php if($_GET['id']){ ?> <img src="<?php echo $_GET['id']?>.jpg"> <?php } ?> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript" src="./jquery.webcam.min.js"></script> <script type="text/javascript"> $(function(){ var width = 320; var height = 240; $("#jquery_camera").webcam({ width: width, height: height, mode: "save", swffile: "./jscam.swf", onTick: function() {}, onSave : function () { window.location = "./index.php?id=<?php echo $id;?>"; }, // Capture時に呼び出される onCapture: function() { webcam.save('./upload.php?id=<?php echo $id;?>'); }, debug: function() {}, onLoad: function() { $("#btn").click(function(){ webcam.capture(); }); } }); }) </script> </body> </html>
保存ページ
<?php $name = $_REQUEST['id']; $str = file_get_contents("php://input"); file_put_contents("/hoge/webcam/{$name}.jpg", pack("H*", $str)); ?>
その他
これならIEでも撮影できる。ただスマホだとflash使えない場合が多いので、他の方法も探しておいたほうが良さそう。
関連記事
-
画像アップロード前の時点で画像が選択されているか確認
やりたかった事は、フォーム内で画像をアップロードする際、 ちゃんと画像がローカル ...
-
AjaxのJSONP使用でPHPで作った配列をJSに返す方法
AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...
-
ajaxで複数のデータを渡したい
やりたい事はajaxで複数のデータを渡したい。 ■送信側 var data = ...
-
テキストエリアを選択すると中身を全選択状態にする方法
テキストエリアやテキストボックスの中に文字が書いてあり、ドラッグをしなくても、そ ...
-
サムネイルをクリックすると拡大画像を表示できる「Lightbox」の利用方法
画像をサムネイル表示してクリックしたら大きく表示する というのがLightbox ...