Save image in local storage phonegap Save image in local storage phonegap android android

Save image in local storage phonegap


Great you found the solution, I did it the following way.Hope it helps someone else.

Simply call capturePhoto function on button click event.

// A button will call this function//function capturePhoto() {    sessionStorage.removeItem('imagepath');    // Take picture using device camera and retrieve image as base64-encoded string    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI });}function onPhotoDataSuccess(imageURI) {         // Uncomment to view the base64 encoded image data        // console.log(imageData);        // Get image handle        //        var imgProfile = document.getElementById('imgProfile');        // Show the captured photo        // The inline CSS rules are used to resize the image        //        imgProfile.src = imageURI;        if(sessionStorage.isprofileimage==1){            getLocation();        }        movePic(imageURI);}// Called if something bad happens.// function onFail(message) {    alert('Failed because: ' + message);}function movePic(file){     window.resolveLocalFileSystemURI(file, resolveOnSuccess, resOnError); } //Callback function when the file system uri has been resolvedfunction resolveOnSuccess(entry){     var d = new Date();    var n = d.getTime();    //new file name    var newFileName = n + ".jpg";    var myFolderApp = "MyAppFolder";    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) {          //The folder is created if doesn't exist    fileSys.root.getDirectory( myFolderApp,                    {create:true, exclusive: false},                    function(directory) {                        entry.moveTo(directory, newFileName,  successMove, resOnError);                    },                    resOnError);                    },    resOnError);}//Callback function when the file has been moved successfully - inserting the complete pathfunction successMove(entry) {    //Store imagepath in session for future use    // like to store it in database    sessionStorage.setItem('imagepath', entry.fullPath);}function resOnError(error) {    alert(error.code);}

What this code does is

Captures image and stores it in MyAppFolder on device's SD Card.And stores imagepath in session so as to insert it in local database.


Setting saveToPhotoAlbum in the options to True works nicely as well. Got that from the 2.9 docs here.