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使えない場合が多いので、他の方法も探しておいたほうが良さそう。
関連記事
-
-
jQueryにて指定した要素を検索条件から除外するnot()の利用方法
あるソースコードを拝見しているとjQueryでnot()という使ったことの無いメ ...
-
-
formで複数選択可能なセレクトメニュー(プルダウン)を実装する方法(select2)
フォームで複数選択可能なセレクトボックス(プルダウン)を実装したい。ただHTML ...
-
-
Javascript / jQueryにて特定の要素内の文字数が〇文字以上の場合に丸める方法
サイトの特定の要素内の文字数が〇文字以上の場合に「コンテンツコンテ……」のように ...
-
-
SortableJSを使ってデータの並べ替え&保存
あるシステムを拝見した際にtableタグ内に並んでいる項目をドラッグ&ド ...
-
-
formでGET送信時に空のパラメータを送信しない方法(cleanQuery)
フォームでGET送信する際、通常だと空のパラメータも送信される。結果として「ドメ ...