Проблема: Я пытаюсь сохранить изображение в формате базы 64, но метод window.plugins.Base64.encodeFile не работает.Функция не работает в окне.plugins in Angular/Ionic
Я установил плагин Cordova локально, и $ cordovaImagePicker работает правильно. После извлечения изображения с телефона он сохраняет только локальный путь изображения в $ scope.collected.selectedImage, а не преобразовывает его в формат базы 64.
Спасибо за помощь !!!
'use strict';
angular.module('copula')
.controller('ItemsCtrl', function($scope, $state, Auth, Item, $firebaseObject, $cordovaImagePicker, $ionicPlatform) {
var ref = new Firebase('https://copula.firebaseio.com/users');
var authData = Auth.$getAuth();
var itemsObject = $firebaseObject(ref.child(authData.uid + '/items'));
itemsObject.$loaded().then(function() {
$scope.items = itemsObject;
});
$scope.collection = {
selectedImage: ''
};
$scope.item = {};
$ionicPlatform.ready(function() {
$scope.getImageSaveContact = function() {
// Image picker will load images according to these settings
var options = {
maximumImagesCount: 1, // Max number of selected images, I'm using only one for this example
width: 800,
height: 800,
quality: 80 // Higher is better
};
$cordovaImagePicker.getPictures(options).then(function (results) {
$scope.collection.selectedImage = results[0]; // We loading only one image so we can use it like this
window.plugins.Base64.encodeFile($scope.collection.selectedImage, function(base64){ // Encode URI to Base64 needed for contacts plugin
console.log("before encoding");
$scope.collection.selectedImage = base64;
console.log(base64);
});
console.log($scope.collection.selectedImage);
}, function(error) {
console.log('Error: ' + JSON.stringify(error)); // In case of error
});
};
});
$scope.$on('$ionicView.beforeEnter', function (event, viewData) {
viewData.enableBack = true;
});
$scope.submitItem = function() {
ref.child(authData.uid).child('items').push(Item.pushAttrs($scope.item));
$scope.item = {};
$state.go('main.home');
};
});