Wenn ich ein einfaches Projekt erstellen:Wie man mehrere Bilder vom Gerät auswählt?
ionic start MyApp
und fügen Sie die ImagePicker
Plugin:
ionic plugin add https://github.com/wymsee/cordova-imagePicker.git -save
Und einfach kopieren this example www folder in das Projekt und zu tun:
ionic platform add android
ionic build android
ionic run android
Alles ist adaequat . Ich kann mehrere Bilder wie beabsichtigt auswählen, ohne irgendwelche Fehler zu bekommen.
So weit so gut. Jetzt habe ich versucht, das in mein Projekt zu integrieren, also fügte ich das Plugin hinzu. Nun ist dies meine Plugin-Liste:
ionic plugin ls
com.synconset.imagepicker 1.0.6 "ImagePicker"
cordova-plugin-camera 1.1.0 "Camera"
cordova-plugin-device 1.0.0 "Device"
cordova-plugin-dialogs 1.1.0 "Notification"
cordova-plugin-splashscreen 2.0.0 "Splashscreen"
cordova-plugin-statusbar 1.0.0 "StatusBar"
cordova-plugin-vibration 1.1.0 "Vibration"
cordova-plugin-whitelist 1.0.0 "Whitelist"
ich ein neues Modul erstellt:
angular.module('App.ImageSelect', [])
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider.state('app.imageSelect', {
url: "/products/prints/pola/imageSelect",
views: {
'menuContent': {
templateUrl: "modules/products/prints/pola/imageSelect/imageSelect.html",
controller: 'ImageSelectController'
}
}
});
})
.controller('ImageSelectController', function ($scope, $cordovaImagePicker) {
$scope.images = [];
$scope.selectImages = function() {
$cordovaImagePicker.getPictures(
function (results) {
for (var i = 0; i < results.length; i++) {
console.log('Image URI: ' + results[i]);
$scope.images.push(results[i]);
}
if (!$scope.$$phase) {
$scope.$apply();
}
},
function (error) {
console.log('Error: ' + error);
}
);
};
});
Wie Sie sehen können, ist es genau der gleiche Controller, die ich von here kopiert, die auf dem einfachen Test Projekt gearbeitet.
Für irgendeinen verdächtigen Grund funktioniert das NICHT. Ich bekomme immer den Fehler:
TypeError: Cannot read property 'getPictures' of undefined
Also was ist der Sinn davon? Ich verwende EXACT den gleichen Code in beiden Projekten. In einem funktioniert alles und in dem anderen funktioniert nichts. Ich habe alle beschriebenen Beispiele here versucht, aber es ist immer das gleiche.
Haben Sie der App Zugriff auf die Kamera in Manifest gegeben? – QueryLars
Seit Version 3.0 müssen Sie das nie manuell bearbeiten. alles wird automatisch erzeugt – Mulgard
Hast du 'cordova-imagePicker' Plugin hinzugefügt? Wenn ja, entfernen Sie es und installieren Sie es erneut. Ich habe gerade meine Test-App überprüft und Plugin funktioniert gut auf iOS, kann alle 5 Bilder abholen. Android einchecken ... – Tamal