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使えない場合が多いので、他の方法も探しておいたほうが良さそう。
関連記事
-
YouTubeの埋め込み動画をjQuery&CSSでフローティングビデオ対応させる方法
以前にvideoタグで表示させた動画をjQuery&CSSでフローティン ...
-
formでdisplay:none;にしてても送信される
formで特定の部分をdisplay:none;で非表示にしてても 内容は送信さ ...
-
「display: block !important;」指定された要素をjQueryで非表示にする方法
jQueryで特定の要素を非表示にしたかったのでhide()を使用したところ非表 ...
-
jQueryでshow/hideよりaddClass/removeClassの方が速い
diaplay:none/blockする際に最近はshow()/hide()を ...
-
jQueryでjsonデータを処理(parseJSON)
他社が作成したシステムのちょっと改修案件があった。設置したもののどうも動かないと ...