Ich arbeite an einer Onsen/Cordova Mobile App, mit Monaca für die Entwicklung und ein Android-Handy zum Testen, die Bilder an die Ausgabe von der App anhängen. Ich habe diesen Code ein Bild zu machen und kopieren Sie sie in cordova.file.dataDirectory:Verschieben eines Fotos in lokale Datenverzeichnis in Onsen/Cordova App
navigator.camera.getPicture(
function(imgUri) { // Success callback
// Get FileEntry object for the new photo
window.resolveLocalFileSystemURL(
imgUri,
function(fileEntry){
alert('Success - Before: ' + JSON.stringify(fileEntry));
newFileName = fileEntry.name;
window.resolveLocalFileSystemURL(cordova.file.dataDirectory,
function(dirEntry) {
// move the file to a new directory and rename it
fileEntry.moveTo(dirEntry, newFileName, function success() {
alert('Copy operation successful - After moving: ' + JSON.stringify(fileEntry)
+ '\nURL: ' + fileEntry.toURL());
$scope.photos.unshift(fileEntry.toURL());
$scope.$apply();
},
function failure(){
alert('Failed to move file.');
});
},
function failure(){
alert('Failed to get local FS for data directory.');
});
},
function failure(){
alert('Failed to get local FS for new image.');
});
},
function() { // Error callback
// We end up here if the photo selection/shoot is cancelled. So we do nothing.
return;
},
opts // Options
);
Was passiert, ist leider, dass, obwohl alle Erfolg Rückrufe ausgelöst werden, die Warnungen den gleichen Weg für ein Foto anzuzeigen, bevor und nach dem Verschieben - file: //storage/emulate/0/Android/data/mobi.monaca.debugger/cache/ - während der Pfad zu cordova.file.dataDirectory ist file: /// data/user/0/mobi.monaca.debugger.files/.
Was ist falsch in diesem Code?
Leider scheint das Ergebnis das gleiche zu sein. Nur die Erfolgsrückrufe werden ausgelöst, aber der Pfad bleibt vor und nach copyTo gleich. Und es ist nicht dasselbe wie cordova.file.dataDirectory. – Btz