Holen Sie sich Base64 aus imageURI mit PhoneGap
Ich versuche, die base64-von einem Bild, aufgenommen aus dem album auf meinem Handy, aber ich kann nicht damit es funktioniert:
Habe ich versucht, dieses:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
console.log("0");
fileSystem.root.getFile(imageURI, null, function(fileEntry) {
console.log("1");
fileEntry.file(function(file) {
console.log("2");
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read complete!");
image64.value = Base64.encode(evt.target.result);
};
reader.readAsText(file);
}, failFile);
}, failFile);
}, failSystem);
Obwohl das Bild richtig angezeigt wird.. ich erhalte eine Fehlermeldung, die von dieser Funktion:
fileSystem.root.getFile(imageURI, null, function(fileEntry)
Und der Fehler ist: FileError.ENCODING_ERR
Ich weiß, der code sieht nicht schön aus. Aber ich weiß nicht, wie man die Base64 Kodierung aus einer imageURI.
- hi Ihr einfach schon geben beispielsweise nur ref... hier der link.. here
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der oben beschriebenen Methode von SERPRO funktioniert...aber ich habe zu ändern
So, Zeile
kann entfernt werden und der base64-Ergebnis können Sie direkt extrahiert, als
Fand ich die Lösung in Google groups. Ich veränderte es ein wenig und das ist das Ergebnis:
HINWEIS: Es dauert etwa 20 Sekunden zum Lesen eines normalen 5MPixel Bild und weitere 10-15 Base64 codieren.
Cordova-plugin-Datei implementiert die HTML5-Datei-API, und das nutzt die callback-API. Ich bevorzuge es verspricht also, ich schrieb die Methode, mithilfe der $q Bibliothek:
Verwendung: