Create a gist now

Instantly share code, notes, and snippets.

Phonegap Camera Capture Example
<!DOCTYPE html>
<html>
<head>
<title>Capture Photo</title>
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1"/>
<script type="text/javascript" charset="utf-8" src="js/phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
var pictureSource; // picture source
var destinationType; // sets the format of returned value
// Wait for PhoneGap to connect with the device
//
document.addEventListener("deviceready",onDeviceReady,false);
// PhoneGap is ready to be used!
//
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
// Called when a photo is successfully retrieved
//
function onPhotoDataSuccess(imageData) {
// Get image handle
//
var smallImage = document.getElementById('smallImage');
// Unhide image elements
//
smallImage.style.display = 'block';
// Show the captured photo
// The inline CSS rules are used to resize the image
//
smallImage.src = "data:image/jpeg;base64," + imageData;
}
// Called when a photo is successfully retrieved
//
function onPhotoFileSuccess(imageData) {
// Get image handle
console.log(JSON.stringify(imageData));
// Get image handle
//
var smallImage = document.getElementById('smallImage');
// Unhide image elements
//
smallImage.style.display = 'block';
// Show the captured photo
// The inline CSS rules are used to resize the image
//
smallImage.src = imageData;
}
// Called when a photo is successfully retrieved
//
function onPhotoURISuccess(imageURI) {
// Uncomment to view the image file URI
// console.log(imageURI);
// Get image handle
//
var largeImage = document.getElementById('largeImage');
// Unhide image elements
//
largeImage.style.display = 'block';
// Show the captured photo
// The inline CSS rules are used to resize the image
//
largeImage.src = imageURI;
}
// A button will call this function
//
function capturePhotoWithData() {
// Take picture using device camera and retrieve image as base64-encoded string
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50 });
}
function capturePhotoWithFile() {
navigator.camera.getPicture(onPhotoFileSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI });
}
// A button will call this function
//
function getPhoto(source) {
// Retrieve image file location from specified source
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });
}
// Called if something bad happens.
//
function onFail(message) {
alert('Failed because: ' + message);
}
</script>
</head>
<body>
<button onclick="capturePhotoWithData();">Capture Photo With Image Data</button> <br>
<button onclick="capturePhotoWithFile();">Capture Photo With Image File URI</button> <br>
<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br>
<button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button><br>
<img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
<img style="display:none;" id="largeImage" src="" />
</body>
</html>
@paddy02rockzz

Thank you so much. Very helpful for beginners. Awesome example of camera in phonegap. :)

@abenhadjhammouda

thank you very helpful

@ibrahimmumcu

Is this code really enough access camera?

I just wrote html & css code for my project. Then if I add this code to my project can I access the camera?

@waelou
waelou commented Feb 27, 2014

thanks man I hope you send me the phonegap.js file I can't find it

@waelou
waelou commented Feb 27, 2014

thanks man I hope you send me the phonegap.js file I can't find it

@avishayhajbi

it doesn't work in my project do you know why?

@dheeraj85

How can i get phonegap.js file?

@john-ufmedia

Just include phonegap.js, you don't require the actual file, this will be handled by the build process.

@joannalimbaga

how to include phonegap.js?

@avinashinde2020

fi you cannot find phonegap.js then include cordova.js. It works with cordova.js

@adamapps

Awesome, thanks bro! Been looking for ever for a tutorial that worked but seemed like I kept getting ones with older api's, this worked perfectly, thanks again!

@Marykai
Marykai commented Dec 1, 2014

Why this isn't working for me...?
Tells:
Uncaught ReferenceError: Camera is not defined at file:///android_asset/www/index.html:72

@spaceless00

very good thanks

@rocky1138

This is great. What's the license on this code?

@zaheer12

Iam new in phonegap
when trying to use phonegap camera plugins get error.
Uncaught TypeError: cannot call method 'getpicture' of undefine at filename(index.html).
(using cordova-2.9.0)

@Sarbasish

Not working in Android

@AmitLomte1

I want to upload captured photo to server But that photo will be send from same page not again need to browse that pic from gallary and upload it please help me soon I am working on Phonegap desktop app

@gobisankar11

smallImage.src =imagedata1;

        alert("data:image/jpeg;base64," + imageData);

        var sig="gobi";

        $.ajax("http://182.74.207.232:8080/timetracking/customerInfoStoringAndroid.do?cmd=saveclientdetails1&imagedata="+smallImage+"&sigdata="+sig).done(function(data) {
                                                                                                                                                          });


    }

alert("data:image/jpeg;base64," + imageData); not working and not getting string format for send server

@daksamedia

is this works on phonegap build??

@NikitaPatel1

Hi ,
I took this code and executed it on Ripple Simulator and it gives me an error phonegap.js not found(404 error)

I then replaced it to include Cordova.js and then it gives error Cordova_Plugin.js not found.

Can anyone please guide me.

Thanks in Advance.

@ngopal
ngopal commented Aug 30, 2015

@NikitaPatel1 Have you added the camera plugin to your project? The command is "cordova plugin add cordova-plugin-camera" (as found in the docs: http://docs.phonegap.com/en/edge/cordova_camera_camera.md.html)

@sankari123

I am having orientation problem. The captured photo is titlted towards right -90 deg

@Ganeshakumar

Can anybody tell me, how to use zoom functionality here ?

@dinesh-1992

I am absolutely new to phonegap, not know how to use this camera.html
I am trying this with phonegap desktop
what I try put camera.html in www directory & in index.html give link to camera.html then open app in mobile using phonegap mobile app & by clicking link I go to camera.html, there is 4 buttons & none of them work
can anyone help me with this
Thanks

@zanurano

get image data not show after capture..
why?

@Yjaballi
Yjaballi commented Jun 3, 2016

Is this code really enough for acces camera.i just copied the code in index.html,is that it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment