Я пытаюсь сделать приложение, где вам нужно выбрать изображение из фотогалереи. Я пытаюсь понять это, используя плагин камеры Cordova, но я также работаю с AngularJS.
Проблема в том, что когда я использую плагин на платформе Windows и вызывая getPicture() с "sourceType" из "PHOTOLIBRARY" или "SAVEDPHOTOALBUM", он возвращает ошибку "Не поддерживается". Но в документации к плагину говорится, что Windows поддерживается.
Плагин камеры: Версия: 0.3.6 - Идентификатор плагина: org.apache.cordova.camera
Это мой код:
HTML
<ons-template id="page1.html">
<ons-page ng-controller="page1">
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">Page 1</div>
</ons-toolbar>
<button ng-click="GetPhoto()">Take Photo</button>
<img id="img1"/>
</ons-page>
</ons-template>
AngularJS
app.controller('page1', ['$scope', function ($scope) {
$scope.GetPhoto = function () {
navigator.camera.getPicture(onSuccess, onFail,
{
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
});
function onSuccess(imageData) {
var imgsrc = document.getelementbyid("img1");
imgsrc.src = imageuri;
}
function onFail(message) {
if (appConstants.debug) {
alert('Failed because: ' + message);
}
}
}
}]);
Наконец я нашел ответ на мой вопрос. Я устанавливаю другой плагин камеры, чем стандартный плагин Visual Studio.