bin ich ein Bild in den lokalen Speicher mit diesem Code Download:Cordova Filetransfer-Show heruntergeladene Bild
function saveImageToPhone(url, file) {
var plat = device.platform;
var deferred = $q.defer();
var url = url;
if(plat == "iOS"){
var filePath = cordova.file.dataDirectory + "files/img/" +file;
}else{
var filePath = cordova.file.applicationStorageDirectory + "files/img/" +file;
}
var fileTransfer = new FileTransfer();
var uri = encodeURI(url);
fileTransfer.download(
uri,
filePath,
function(entry) {
console.log(entry);
deferred.resolve();
},
function(error) {
console.log("error");
deferred.resolve();
},
true
);
return deferred.promise;
}
ich bin Anzeige des Bildes mit:
<img src="file:///var/mobile/Containers/Data/Application/0C911347-00D1-4133-9186-D9653E64B572/Library/NoCloud/files/img/{{myimagename}}.jpg">
Der obige Code funktioniert gut in Android (mit anderem src-Pfad). Das Bild wird heruntergeladen, gespeichert und in frontedn angezeigt.
Mit iOS auf den Erfolg Funktion Download aufgerufen und xCode Debugger zeigt mir die positive Antwort:
{"isFile":true,"isDirectory":false,"name":"3866938200000.1.jpg","fullPath":"/files/img/3866938200000.1.jpg","filesystem":"<FileSystem: library-nosync>","nativeURL":"file:///var/mobile/Containers/Data/Application/2A84F1F2-56D7-419A-B915-905C32FE851C/Library/NoCloud/files/img/3866938200000.1.jpg"}
Aber das Bild ist nicht im Frontend angezeigt. Gibt es eine Möglichkeit, das Dateisystem von iOS (ohne Jailbreak-Gerät) zu überprüfen, ob die Datei tatsächlich da ist? Oder fehlt mir etwas? Ist der src-Pfad meines Bildes korrekt?
Vielen Dank im Voraus
Ich habe gesehen, dass diese Kennung "0C911347-00D1-4133-9186-D9653E64B572" nach einem Neustart der App nicht identisch ist. Gibt es eine Möglichkeit, diese Kennung persistent zu bekommen? – m1crdy