如果我創建一個簡單的項目:如何從設備中選擇多個圖像?
ionic start MyApp
並添加ImagePicker
插件:
ionic plugin add https://github.com/wymsee/cordova-imagePicker.git -save
而簡單地複製this example www folder到項目,並做到:
ionic platform add android
ionic build android
ionic run android
一切正常。我可以按照預期選擇多個圖像而不會出現任何錯誤。
到目前爲止這麼好。現在我試圖將其包含到我的項目中,所以我添加了ImagePicker
插件。現在,這是我的插件列表:
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"
我創建了一個新的模塊:
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);
}
);
};
});
正如你可以看到它正是我從here這在簡單的測試項目的工作拷貝相同的控制器。
對於任何可疑的原因,這是行不通的。我總是得到錯誤:
TypeError: Cannot read property 'getPictures' of undefined
那麼有什麼意義呢?我在兩個項目中都使用相同的代碼。在一件事情正在工作,另一件事情沒有任何工作。我試過所有的例子描述here但它總是相同的。
您是否已嚮應用程序提供對清單中相機的訪問權限? – QueryLars
從版本3.0開始,您永遠不需要手動進行編輯。它全部自動生成 – Mulgard
您是否添加了'cordova-imagePicker'插件?如果是,請刪除並重新安裝。我剛剛檢查了我的測試應用程序,並且插件在iOS上正常工作,可以拾取任何5張圖像。檢查Android ... – Tamal