function addMedia(callBcGetSelImg, uploadName, mediaSelType){
var cameroOpts={
quality : 75,
destinationType : navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
};
/**
* validates media selected by user
* @param file : a file object returned by phonegap holding file attributes of file to be read
*/
var validateMedia = function(file){
var acceptableMimeTypes = [];
switch(mediaSelType){
case 'image':
acceptableMimeTypes = ['image/jpeg', 'image/gif', 'image/png'];
break;
case 'video' :
acceptableMimeTypes = ['video/mp4'];
break;
default:
alert('Debug: Method called with wrong mediaSelType =' + mediaSelType);
return false;
}
errorMsgs='';
isValidMime = false;
for(var i in acceptableMimeTypes){
if (acceptableMimeTypes.hasOwnProperty(i)) {
if( acceptableMimeTypes[i] == file.type){
isValidMime = true;
break;
}
}
}
if(!isValidMime){
errorMsgs += 'Please select valid media\n';
}
//verify file size is less than 1024KB
if(file.size > 1048576){
errorMsgs += 'Please select file with size less than 1024KB';
}
if(errorMsgs != ''){
alert(errorMsgs);
return false;
}
return true;
}
function selMedia(mediaURI) {
window.resolveLocalFileSystemURI(mediaURI, function(fileEntry) {
fen = JSON.stringify(fileEntry);
fileEntry.file(function(file){
validateMedia(file);
alert('file Obj:'+JSON.stringify(file));
var reader = new FileReader();
reader.onloadend = function(evt) {
alert("Read as data URL");
mediaDataURL = evt.target.result;
callBcGetSelImg(mediaDataURL);
media.push({
data : mediaDataURL,
uploadName : uploadName,
});
alert('media array contain:' + media.length);
};
reader.readAsDataURL(file);
},function() {
alert('error');
});
//Plugin.callNativeFunction(nativePluginResultHandler, nativePluginErrorHandler, 'success', fileEntry.fullPath);
}, function(error){
alert('error');
});
}
navigator.camera.getPicture(selMedia, function(err){
alert('error occured in selecting media');
}, cameroOpts);
};
var cameroOpts={
quality : 75,
destinationType : navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
};
/**
* validates media selected by user
* @param file : a file object returned by phonegap holding file attributes of file to be read
*/
var validateMedia = function(file){
var acceptableMimeTypes = [];
switch(mediaSelType){
case 'image':
acceptableMimeTypes = ['image/jpeg', 'image/gif', 'image/png'];
break;
case 'video' :
acceptableMimeTypes = ['video/mp4'];
break;
default:
alert('Debug: Method called with wrong mediaSelType =' + mediaSelType);
return false;
}
errorMsgs='';
isValidMime = false;
for(var i in acceptableMimeTypes){
if (acceptableMimeTypes.hasOwnProperty(i)) {
if( acceptableMimeTypes[i] == file.type){
isValidMime = true;
break;
}
}
}
if(!isValidMime){
errorMsgs += 'Please select valid media\n';
}
//verify file size is less than 1024KB
if(file.size > 1048576){
errorMsgs += 'Please select file with size less than 1024KB';
}
if(errorMsgs != ''){
alert(errorMsgs);
return false;
}
return true;
}
function selMedia(mediaURI) {
window.resolveLocalFileSystemURI(mediaURI, function(fileEntry) {
fen = JSON.stringify(fileEntry);
fileEntry.file(function(file){
validateMedia(file);
alert('file Obj:'+JSON.stringify(file));
var reader = new FileReader();
reader.onloadend = function(evt) {
alert("Read as data URL");
mediaDataURL = evt.target.result;
callBcGetSelImg(mediaDataURL);
media.push({
data : mediaDataURL,
uploadName : uploadName,
});
alert('media array contain:' + media.length);
};
reader.readAsDataURL(file);
},function() {
alert('error');
});
//Plugin.callNativeFunction(nativePluginResultHandler, nativePluginErrorHandler, 'success', fileEntry.fullPath);
}, function(error){
alert('error');
});
}
navigator.camera.getPicture(selMedia, function(err){
alert('error occured in selecting media');
}, cameroOpts);
};