PhoneGapでカメラ撮影 & サーバーにアップロード
[写真を撮影]のボタンをタップすると、内蔵カメラが起動します。そのままシャッターを押すと撮影完了後、元の画面に復帰します。 |
<!DOCTYPE HTML> <html> <head> <title>AAA</title> <meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1, maximum-scale=1"> <meta charset="UTF-8"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" /> <script src="http://code.jquery.com/jquery-1.6.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script> <script type="text/javascript" charset="utf-8" src="phonegap-1.4.0.js"></script> <script type="text/javascript" charset="utf-8"> var pictureSource; // 写真ソース var destinationType; // 戻り値のフォーマット document.addEventListener("deviceready",onDeviceReady,false); function onDeviceReady() { pictureSource=navigator.camera.PictureSourceType; destinationType=navigator.camera.DestinationType; } //********************************* // 撮影 function capturePhoto() { // 撮影した写真をBase64形式の文字列として取得 navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50 }); } // function onPhotoDataSuccess(imageData) { document.getElementById("content_uri").value = imageData; var smallImage = document.getElementById('smallImage'); smallImage.style.display = 'block'; smallImage.src = imageData; } //********************************* function win_uri2path(FileEntry){ document.getElementById("full_path").value = FileEntry.fullPath; } function fail_uri2path(evt){ alert("error:" + evt.code); } function uri2path(){ var c_uri = document.getElementById("content_uri").value; window.resolveLocalFileSystemURI(c_uri, win_uri2path, fail_uri2path); } //********************************* function getPhoto(source) { navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,destinationType: destinationType.FILE_URI,sourceType: source }); } function onPhotoURISuccess(imageURI) { document.getElementById("content_uri").value = imageURI; var largeImage = document.getElementById('largeImage'); largeImage.style.display = 'block'; largeImage.src = imageURI; } //********************************* function onFail(mesage) { alert('エラーが発生しました: ' + message); } </script> </head> <body> <button onclick="capturePhoto();">写真を撮影</button> <br> <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">フォトライブラリから取得</button><br> <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">フォトアルバムから取得</button><br> <table><tr> <th>content URI:</th> <th><textarea rows=2 id="content_uri" value=""></textarea></th> </tr></table> <button onclick="uri2path();">URIをフルパスに変換</button> <br> <table><tr> <th> full Path:</th> <th><textarea rows=2 id="full_path" value=""></textarea></th> </tr></table> <img style="display:none;width:60px;height:60px;" id="smallImage" src="" /> <img style="display:none;" id="largeImage" src="" /> </body> </html>