Reads photos & videos from an album (e.g. Camera Roll)
Tested for iOS and Android. Likely works also for other platforms (but not tested).
This (blog post)[https://medium.com/collaborne-engineering/my-cordova-nightmares-accessing-photos-from-the-phones-gallery-7528a0860555#.jq0oqswb8] explains the challenges that this library addresses and the approach how it solves them.
The module can automatically check if the user granted the required permission. For Android 6 permission checks this requires to add (cordova-plugin-android-permission)[https://github.com/NeoLSN/cordova-plugin-android-permission] to the Cordova application.
npm install cordova-gallery-access --save
The library uses the Cordova plugin cordova-gallery-api, which you therefore need to install to your Cordova application:
cordova plugin add https://github.com/SuryaL/cordova-gallery-api.git --saveThis examples shows the recently taken photos from the Camera Roll:
const cordovaGallery = require('cordova-gallery-access');
cordovaGallery.load().then(items => {
let html = '';
items.forEach(item => {
html += `<img src="file://${item.thumbnail}"></img>`;
});
document.getElementById("content").innerHTML = html;
}).catch(e => console.error(e));The load method supports optional parameters:
Collaborne.CordovaGallery.load({
albumType: 'PHAssetCollectionSubtypeSmartAlbumUserLibrary',
start: 5,
count: 10
});Supported options:
| Option | Description |
|---|---|
| albumType | Type of the album from which the items will be taken |
| start | Index to start retrieving items for (begins at 0) |
| count | Maximal number of items that will be returned |