Photo Library
The PhotoLibrary plugin allows access to photos from device by url. So you can use plain img tag to display photos and their thumbnails, and different 3rd party libraries as well. Saving photos and videos to the library is also supported. cdvphotolibrary urls should be trusted by Angular. See plugin homepage to learn how.
https://github.com/terikon/cordova-plugin-photo-library
Stuck on a Cordova issue?
If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.
Installation#
- Capacitor
- Cordova
- Enterprise
$ npm install cordova-plugin-photo-library $ npm install @ionic-native/photo-library $ ionic cap sync
$ ionic cordova plugin add cordova-plugin-photo-library $ npm install @ionic-native/photo-library
Ionic Enterprise comes with fully supported and maintained plugins from the Ionic Team. Learn More or if you're interested in an enterprise version of this plugin Contact Us
#
Supported Platforms- Android
- Browser
- iOS
#
Usage#
ReactLearn more about using Ionic Native components in React
#
Angularimport { PhotoLibrary } from '@ionic-native/photo-library/ngx';
constructor(private photoLibrary: PhotoLibrary) { }
this.photoLibrary.requestAuthorization().then(() => { this.photoLibrary.getLibrary().subscribe({ next: library => { library.forEach(function(libraryItem) { console.log(libraryItem.id); // ID of the photo console.log(libraryItem.photoURL); // Cross-platform access to photo console.log(libraryItem.thumbnailURL);// Cross-platform access to thumbnail console.log(libraryItem.fileName); console.log(libraryItem.width); console.log(libraryItem.height); console.log(libraryItem.creationDate); console.log(libraryItem.latitude); console.log(libraryItem.longitude); console.log(libraryItem.albumIds); // array of ids of appropriate AlbumItem, only of includeAlbumsData was used }); }, error: err => { console.log('could not get photos'); }, complete: () => { console.log('done getting photos'); } });}).catch(err => console.log('permissions weren\'t granted'));