If your Meteor Cordova app needs access to the device camera you’ll likely want to also allow the user to access their photo library. It’s simple when you use the
mdg:camera package.
When you use the package you pass in a few options, like so…
var options = {
width: 350,
height: 350,
quality: 75
}
MeteorCamera.getPicture(options, function(err, data) {
if (err) {
console.log('error', err);
}
if (data) {
Session.set('img', data)
}
});
This will access the device camera. It works regardless if you’re on a phone or using a browser on your computer.
Want to be able to access the photo library on mobile? Just pass one additional option in. Like so....
var options = {
width: 350,
height: 350,
quality: 75,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY
}
MeteorCamera.getPicture(options, function(err, data) {
if (err) {
console.log('error', err);
}
if (data) {
Session.set('img', data)
}
});
Note: Unlike the normal usage of
mdg:camera when you specify the `sourceType` it only works through Cordova (only tested on iOS so far).
Here’s a demo repo you can try: https://github.com/spencercarli/meteor-cordova-photolibrary
S/O to @hellogerard for finding this out.