Ich arbeite an einer Ionic App, die mit einer Rails API kommuniziert. Ich habe Benutzer und Benutzer haben Bilder. Ich war in der Lage, this guide zu folgen, wie man Benutzern erlaubt, Bilder nativ von ihren Telefonbildern zu ergreifen.Ionic Photo Upload - Datei zu Base64 String
Dies ermöglicht dem Benutzer, ein Bild von ihrem Telefon zu greifen
$ionicPlatform.ready(function() {
$scope.getImageSaveContact = function() {
// Image picker will load images according to these settings
var options = {
maximumImagesCount: 1,
width: 800,
height: 800,
quality: 80
};
$cordovaImagePicker.getPictures(options).then(function (results) {
// Loop through acquired images
for (var i = 0; i < results.length; i++) {
$scope.collection.selectedImage = results[i]; // 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
$scope.collection.selectedImage = base64;
});
}
console.log("results");
console.log(results);
}, function(error) {
console.log('Error: ' + JSON.stringify(error));
});
};
});
Das Problem ist, ist es nicht in Betrieb ist (oder wird nicht nicht ausgeführt werden), um die window.plugins.Base64.encodeFile
Linie, die eine Datei kodiert. Im Moment ist es nur die Image-Datei und nicht die Base64-codierte Zeichenfolge.
Wie kann ich diese Funktion ausführen, nachdem ich eine Datei von meiner Gerätekamera gegriffen habe?
ich war in der Lage, es herauszufinden, Antwort unten
Dank für die Antwort. Ich habe so ziemlich meinen ganzen Code behalten, aber meine '$ cordovaImagePicker.getPictures' durch meine (in meiner Bearbeitung) ersetzt. Ich habe eine Reihe von Warnmeldungen hinzugefügt (um die Ionenansicht zu testen) und eine Warnung erhalten, dass der Dateiname vervollständigt wird. Es kommt jedoch nicht in den zweiten 'then' Block. Siehst du irgendeinen Grund, warum das der Fall sein könnte? –
hast du das cordova-file plugin installiert? –
Ja, habe ich. [Dies ist die, die ich installiert habe] (https://github.com/apache/cordova-plugin-file) –